背景插件用于自定义画布的背景效果,支持点阵背景、Logo显示和新拟态(Neumorphism)视觉效果。
背景插件通过 BackgroundPlugin
提供,配置项包括:
{
// 背景颜色
backgroundColor: '#1a1a1a',
// 点的颜色
dotColor: '#ffffff',
// 点的大小(像素)
dotSize: 1,
// 网格间距(像素)
gridSize: 20,
// 点的透明度(0-1)
dotOpacity: 0.5,
// 点的填充颜色
dotFillColor: '#ffffff'
}
支持文本和图片两种Logo类型:
{
logo: {
// Logo文本
text: 'FLOWGRAM.AI',
// 图片URL (可选,优先级高于文本)
imageUrl: 'https://example.com/logo.png',
// 位置:'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'
position: 'center',
// 大小
size: 200,
// 透明度(0-1)
opacity: 0.25,
// 颜色
color: '#ffffff',
// 字体
fontFamily: 'Arial, sans-serif',
// 字体粗细
fontWeight: 'bold',
// 自定义偏移量
offset: { x: 0, y: 0 }
}
}
新拟态(Neumorphism)是一种现代化的视觉设计风格,通过双层柔和阴影创造立体感:
{
logo: {
neumorphism: {
// 启用新拟态效果
enabled: true,
// 文字颜色
textColor: '#E0E0E0',
// 高光阴影颜色
lightShadowColor: 'rgba(255,255,255,0.9)',
// 暗色阴影颜色
darkShadowColor: 'rgba(0,0,0,0.15)',
// 阴影偏移距离
shadowOffset: 6,
// 阴影模糊半径
shadowBlur: 12,
// 阴影强度
intensity: 0.6,
// 凸起效果(true=凸起, false=凹陷)
raised: true
}
}
}
// 在编辑器配置中直接使用 background 属性
const editorProps = {
// 背景配置
background: {
// 深色主题背景
backgroundColor: '#1a1a1a',
dotColor: '#ffffff',
dotSize: 1,
gridSize: 20,
dotOpacity: 0.3,
// 品牌Logo
logo: {
text: 'FLOWGRAM.AI',
position: 'center',
size: 200,
opacity: 0.25,
color: '#ffffff',
fontFamily: 'Arial, sans-serif',
fontWeight: 'bold',
// 新拟态效果
neumorphism: {
enabled: true,
textColor: '#E0E0E0',
lightShadowColor: 'rgba(255,255,255,0.9)',
darkShadowColor: 'rgba(0,0,0,0.15)',
shadowOffset: 6,
shadowBlur: 12,
intensity: 0.6,
raised: true
}
}
}
}
const editorProps = {
background: {
backgroundColor: '#1a1a1a',
dotColor: '#ffffff',
dotSize: 1,
gridSize: 20,
dotOpacity: 0.3,
logo: {
text: '您的品牌',
position: 'center',
size: 200,
opacity: 0.25,
color: '#ffffff',
neumorphism: {
enabled: true,
textColor: '#E0E0E0',
lightShadowColor: 'rgba(255,255,255,0.9)',
darkShadowColor: 'rgba(0,0,0,0.15)',
shadowOffset: 6,
shadowBlur: 12,
intensity: 0.6,
raised: true
}
}
}
}
const editorProps = {
background: {
backgroundColor: '#ffffff',
dotColor: '#000000',
dotSize: 1,
gridSize: 20,
dotOpacity: 0.1,
logo: {
text: '您的品牌',
position: 'center',
size: 200,
opacity: 0.1,
color: '#000000'
}
}
}
interface BackgroundLayerOptions {
/** 网格间距,默认 20px */
gridSize?: number;
/** 点的大小,默认 1px */
dotSize?: number;
/** 点的颜色,默认 "#eceeef" */
dotColor?: string;
/** 点的透明度,默认 0.5 */
dotOpacity?: number;
/** 背景颜色,默认透明 */
backgroundColor?: string;
/** 点的填充颜色,默认与stroke颜色相同 */
dotFillColor?: string;
/** Logo 配置 */
logo?: {
/** Logo 文本内容 */
text?: string;
/** Logo 图片 URL */
imageUrl?: string;
/** Logo 位置,默认 'center' */
position?: 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
/** Logo 大小,默认 'medium' */
size?: 'small' | 'medium' | 'large' | number;
/** Logo 透明度,默认 0.1 */
opacity?: number;
/** Logo 颜色(仅文本),默认 "#cccccc" */
color?: string;
/** Logo 字体家族(仅文本),默认 'Arial, sans-serif' */
fontFamily?: string;
/** Logo 字体粗细(仅文本),默认 'normal' */
fontWeight?: 'normal' | 'bold' | 'lighter' | number;
/** 自定义偏移 */
offset?: { x: number; y: number };
/** 新拟态效果配置 */
neumorphism?: {
/** 启用新拟态效果 */
enabled: boolean;
/** 文字颜色 */
textColor?: string;
/** 高光阴影颜色 */
lightShadowColor?: string;
/** 暗色阴影颜色 */
darkShadowColor?: string;
/** 阴影偏移距离 */
shadowOffset?: number;
/** 阴影模糊半径 */
shadowBlur?: number;
/** 阴影强度 */
intensity?: number;
/** 凸起效果(true=凸起, false=凹陷) */
raised?: boolean;
};
};
}