【发布时间】:2012-04-28 00:29:12
【问题描述】:
是否可以将Kinetic JS 对象导出为 SVG?
或者解决方法是将 Kintetic JS 的画布转换为 SVG。
编辑:
最好使用fabricJS,因为它在处理织物对象时支持画布到 SVG 渲染。
我接受了 Phrogz 的回答,因为它还可以将画布转换为 svg,而无需使用其他库在画布上绘图。
编辑 2:好的,我搞砸了,Phrogz 的库是 canvas 元素的包装,所以你可以使用它的方法在画布上绘图(我认为它只是在画布上“监听”并创建 SVG 路径)。所以最好的解决方案肯定是fabricJS。
【问题讨论】:
-
Kinect 是一个 HTML5 Canvas 库。 HTML5 Canvas 是一种位图格式(有时使用类似矢量的命令绘制)。 SVG 是一种矢量格式。最简单的答案是获取画布的输出并将其用作 SVG 文件中的图像。你真正想做什么?
-
Thx,但这不是一个选项,因为我需要 SVG 路径,而不是 base64 png,因为之后的文件大小。
-
您的画布绘图是否仅包含可以捕获的路径命令?你能改变填充画布的 JS 的来源吗?
-
我们正在尝试制作一个可以导出为 SVG 的绘图应用程序。你说我可以根据我的 JS 数据编写自己的 SVG 渲染器,因为我知道我在画布上绘制什么?
-
您可以将 HTML5 图形上下文替换为执行相同操作的包装对象,但还可以记录所有路径和笔画等等。 (每次更新,或仅存储上次更新的命令。)然后您可以将记录的命令转换为 SVG 命令。当我有时间的时候,我会根据这个得出一个答案。
标签: javascript html canvas svg kineticjs