JavaScript is required

生成包含水印的图片

生成带自定义背景水印的图谱图片

本示例演示如何生成带有自定义背景图案(水印)的图谱截图。使用 RGBackground slot,应用带有半透明橙色叠加层的网格图案到画布。生成的图片同时捕获图谱内容和自定义背景,适用于品牌化或为导出的图片添加视觉上下文。

关键特性包括:用于自定义背景渲染的 RGBackground slot、用于网格图案的 base64 编码背景图片、结合网格纹理与半透明色调的分层背景样式,以及使用准备/恢复模式保留背景的图片生成。该示例演示了带有水印和徽标的品牌导出、带有网格叠加的上下文可视化,以及印刷和营销材料的设计集成。

生成带自定义背景水印的图谱图片

功能概述

本示例演示如何生成带有自定义背景图案(水印)的图谱截图。使用 RGBackground slot,应用带有半透明橙色叠加层的网格图案到画布。生成的图片同时捕获图谱内容和自定义背景,适用于品牌化或为导出的图片添加视觉上下文。

核心特性实现

RGBackground Slot 用于自定义背景

RGBackground slot 允许自定义背景渲染:

<RelationGraph options={graphOptions}>
    <RGSlotOnView>
    </RGSlotOnView>
    <RGBackground>
        <div
            style={{
                width: '100%',
                height: '100%',
                backgroundImage: 'url(data:image/png;base64,...)',
                backgroundSize: '200px 200px',
                backgroundRepeat: 'repeat',
                backgroundColor: 'rgba(246, 167, 87, 0.1)'
            }}
        />
    </RGBackground>
</RelationGraph>

背景 div 跨越整个画布区域,可以包含任何 CSS 样式。

Base64 编码的背景图片

示例使用 base64 编码的 PNG 图片作为网格图案:

backgroundImage: 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGuCAYAAAC+z1AR...)'

这种方法将背景图片直接嵌入代码中,避免外部文件依赖。

分层背景样式

背景组合了多个视觉元素:

  • 网格图案:提供网格纹理的 base64 编码 PNG
  • 色调颜色:半透明橙色叠加层(rgba(246, 167, 87, 0.1)
  • 平铺backgroundRepeat: 'repeat' 用于无缝覆盖
  • 尺寸backgroundSize: '200px 200px' 控制图案尺寸

保留背景的图片生成

使用相同的准备/恢复模式:

const generateImageBase64 = async () => {
    const canvasDom = await graphInstance.prepareForImageGeneration();
    const imageBlob = await domToImageByModernScreenshot(canvasDom, {
        backgroundColor: null
    });
    await graphInstance.restoreAfterImageGeneration();

    if (imageBlob) {
        const base64 = await blobToBase64(imageBlob);
        setBase64String(base64);
    }
};

自定义背景自动包含在生成的图片中。

创意使用场景

品牌导出

自定义背景支持:

  • 公司水印:为导出添加徽标或微妙品牌标识
  • 文档分类:机密/内部/公开的视觉指示器
  • 版权保护:微妙水印以保护知识产权
  • 模板一致性:确保所有导出遵循品牌指南

上下文可视化

背景图案支持:

  • 网格叠加:显示比例或测量参考
  • 主题背景:匹配图谱用途(技术、艺术、企业)
  • 视觉层次:使用背景区分不同图谱类型
  • 状态指示:颜色色调显示图谱状态(草稿、已批准、已归档)

设计集成

水印功能有助于:

  • 印刷设计:为印刷材料准备图谱
  • 演示图形:匹配演示模板样式
  • 营销材料:为营销用途创建品牌可视化
  • 用户生成内容:让用户根据自己的需求自定义背景