是否有可能导出动力学JS对象SVG?
或解决方法是Kintetic JS的画布转换为SVG。
编辑:
最好是使用fabricJS ,因为它支持画布渲染SVG与面料对象工作时。
我接受Phrogz的答案,因为它也不会转化画布,而无需使用其他一些库,用于在画布上绘制SVG。
编辑2:好了,我搞砸了,Phrogz的图书馆围绕canvas元素的包装,所以你使用它的方法绘制在画布上(我认为这只是在画布上“等待”,并创建SVG路径)。 所以最好的解决办法是fabricJS肯定。
是否有可能导出动力学JS对象SVG?
或解决方法是Kintetic JS的画布转换为SVG。
编辑:
最好是使用fabricJS ,因为它支持画布渲染SVG与面料对象工作时。
我接受Phrogz的答案,因为它也不会转化画布,而无需使用其他一些库,用于在画布上绘制SVG。
编辑2:好了,我搞砸了,Phrogz的图书馆围绕canvas元素的包装,所以你使用它的方法绘制在画布上(我认为这只是在画布上“等待”,并创建SVG路径)。 所以最好的解决办法是fabricJS肯定。
最好的解决办法是使用Fabric.js !
我已经创建文库的一个alpha版本 ,允许你延伸的HTML5画布背景信息,使得它可以跟踪所有矢量绘图命令和将它们存储在一个阵列SVG元素ctx.svgObjects
上下文属性。
:你可以在这里看到活动的库http://phrogz.net/svg/HTML5CanvasRecordsSVG.html
该演示打开记录,绘制了几个形状HTML5的Canvas,然后追加“记录” SVG对象的SVG容器隔壁。
在一般的库:
SVGMatrix
对象。 (这是因为HTML5 API背景下,您可以设置当前变换到一个矩阵,但不会让你当前矩阵。)它通过拦截来电喜欢做这个translate()
和rotate()
并相应地更新矩阵。 beginPath()
并创建一个新的SVG路径元件,然后拦截等进一步的命令moveTo()
和lineTo()
以便添加的等效路径命令到SVG路径。 fill()
和stroke()
添加当前SVG的副本<path>
到svgObjects
阵列,设置当前变换矩阵,填充和中风样式。 lineCap
, lineJoin
, miterLimit
)支持在写这篇文章的。 fill()
后跟stroke()
创建两个单独的SVG元素; 没有优化中风区分这种特殊情况下/填充,或改变调用之间的转换或路径。 fillRect()
和strokeRect()
创建SVG <rect>
元素。 更多的工作可以在这个库进行充实的所有命令(不只是路径的命令,而且还搞什么fillText()
但它不是我个人的需要,所以我并不倾向于花时间把它搭在了终点线。
basicly可以在画布转换为Base64 PNG,然后把它放在SVG
也许这可以帮助你
http://svgkit.sourceforge.net/tests/canvas_tests.html