cil*_*ler 5 javascript svg png canvas raphael
我试图让用户下载SVG图形作为PNG.您可以通过JSFIDDLE访问代码
SVG到CANVAS部分无法正常工作.
已经添加了canvg和Mozillas的代码,它们都没有工作.还添加了Canvas2Image,如果canvas有元素,它应该有效.
感谢开发canvg的gabelerner帮助我修复了它
\n\n这是您可能想要的示例 SVG 和 JS 部分
\n\nvar svg_XML_NoSpace = \'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1024" height="768"><desc>Created with Rapha\xc3\xabl</desc><defs></defs><image x="0" y="0" width="1024" height="768" preserveaspectratio="none" xlink:href="http://<mydomain>/<myfolder>/<myfile>"></image><path fill="none" stroke="#ff0000" d="M414,114L722,114" style="stroke-width: 3px;" stroke-width="3"></path></svg>\'; //based on gabelerner\n\n//add canvas into body \nvar canvasID = "myCanvas";\nvar canvas = document.createElement(\'canvas\');\ncanvas.id = canvasID;\ndocument.body.appendChild(canvas);\n\n//convert svg to canvas\ncanvg(document.getElementById(canvasID), svg_XML_NoSpace, { \n ignoreMouse: true, ignoreAnimation: true, \n renderCallback: function () {\n //save canvas as image\n Canvas2Image.saveAsPNG(document.getElementById(canvasID)); \n }\n} );\n
Run Code Online (Sandbox Code Playgroud)\n