需要将HTML5画布转换为SVG进行编辑?
指针将不胜感激
指针将不胜感激
解决方法
尝试
canvas2svg.js. [
Demo]
我自己遇到了这个需要,最终为此写了一个图书馆.当时其他的图书馆有点稀疏,或者没有生成有效的SVG.
基本概念是一样的.您创建一个模拟画布2D上下文,然后在调用画布绘图命令时生成一个SVG场景图.基本上你可以重复使用相同的绘图功能.根据您传递给它的上下文,您可以绘制到标准2D画布或生成可序列化的SVG文档.
您实际上不能“转换”一个被绘制的画布元素,因为它只是一个位图,所以请记住.当您导出到SVG时,您只需使用假的上下文再次调用相同的绘图功能.
所以作为一个快速的例子:
//create a canvas2svg mock context var myMockContext = new C2S(500,500); //pass in your desired SVG document width/height var draw = function(ctx) { //do your normal drawing ctx.fillRect(0,200,200); //etc... } draw(myMockContext); myMockContext.getSerializedSvg(); //returns the serialized SVG document myMockContext.getSvg(); //inline svg