我正在尝试加载外部SVG并将其附加到Electron项目中的现有SVG。 d3.xml
方法对我不起作用所以我正在查看d3.symbols,希望如果我提供路径数据(来自fs.readFileSync调用),我可以创建自己的符号。
查看文档我不明白“上下文”指的是什么。它是一个像g
(组)的元素吗?它是顶级SVG吗?
在这里徘徊。
symbol.context([上下文])
如果指定了context,则设置上下文并返回此符号 发电机。如果未指定context,则返回当前上下文, 默认为null。如果上下文不为null,则生成 符号作为路径方法调用序列呈现给此上下文。 否则,表示生成的符号的路径数据串是 返回。
答案 0 :(得分:1)
d3
版本4的新增功能之一是能够直接绘制HTML5 canvas元素。以前的版本主要仅使用SVG
处理绘图。 .context
调用期望HTML5画布上下文,然后将在该画布上进行后续绘制活动。如果是null
(默认情况下是这样),那么d3
会假设您正在绘制svg并返回路径数据,以便稍后调用.attr("d", pathDataString)
。
从版本4 CHANGES document:
形状不再局限于SVG;他们现在可以渲染到Canvas了! Shape生成器现在支持可选的上下文:给定CanvasRenderingContext2D,您可以将形状渲染为要填充或描边的画布路径。例如,画布饼图可能使用弧生成器: