AntV X6/Xflow 导出 svg/png/jpeg 问题解决

AntV X6/Xflow 导出 svg/png/jpeg 问题解决

导出 svg/png/jpeg 时,处于画布边缘的节点的连接桩或 label 标签显示不完整

问题截图:

界面

导出的图片

解决办法:

  1. 导出 png/jpeg 格式可以通过设置Export.ToImageOptionspadding 解决
  2. 导出 svg 格式,Export.ToSVGOptions暂无直接可用的 padding 配置,所以我的方式是使用getContentBBox获取画布内容的矩形区域,并进行一定的数值增减,将其作为导出时的 viewbox
tsx 复制代码
import React, { useEffect, useRef } from 'react'
import { Graph, Rectangle, useExport, useGraphInstance } from '@antv/xflow'

const handleExportPng = () => {
  exportPNG('png-chart', { padding: 20 })
}

const handleExportJpeg = () => {
  exportJPEG('jpeg-chart', { padding: 20 })
}

const handleExportSvg = () => {
  const box = graph.current?.getContentBBox()
  const { x, y, width, height } = box as Rectangle
  const viewBox = {
    x: x - 20,
    y: y - 20,
    width: width + 40,
    height: height + 40
  }
  exportSVG('svg-chart', { viewBox })
}

如有更好的解决办法,欢迎在评论区交流讨论

效果展示:

更多问题可查阅以下链接

相关推荐
大数据魔法师14 分钟前
豆瓣图书数据采集与可视化分析
python·数据分析·数据可视化
朝花惜时4 小时前
物流网络规划-让AI用线性规划方式求解
设计模式·数据挖掘·数据可视化
八了个戒12 小时前
「数据可视化 D3系列」入门第一章:Hello D3.js
开发语言·前端·javascript·数据可视化·canvas
蘑菇头爱平底锅1 天前
数字孪生-DTS-孪创城市-用前端实现水淹限高分析
前端·javascript·数据可视化
小白—人工智能1 天前
数据可视化 —— 柱形图应用(大全)
python·信息可视化·数据可视化
Mapmost2 天前
【从零打造视觉盛宴・风格篇】私藏技巧:如何把普通场景做成高级感爆棚的创意作品?
webgl·数据可视化·虚拟现实
蘑菇头爱平底锅2 天前
数字孪生-DTS-孪创城市-古城分布
前端·数据可视化
蘑菇头爱平底锅2 天前
数字孪生-DTS-孪创城市-湖区分布
前端·数据可视化
蘑菇头爱平底锅2 天前
数字孪生-DTS-孪创城市-前端用代码实现经济态势
前端·数据可视化