如果我以编程方式创建一个SVG元素,我可以以编程方式将该元素保存为图像吗?
到目前为止我在Stackoverflow和Google上研究过的解决方案:
让用户right-click-save-as
第三方库可以将svg
命令转换为canvas
命令,并使用canvas.toDataURL保存画布
是否有以编程方式将SVG转换为图像的直接方式?
示例Javascript / SVG:
var svgns="http://www.w3.org/2000/svg";
var xlink='http://www.w3.org/1999/xlink'
var svg=document.createElementNS(svgns,"svg");
svg.setAttribute('width', 100);
svg.setAttribute('height', 100);
var e=document.createElementNS(svgns,"rect");
e.setAttribute("fill","skyblue");
e.setAttribute("stroke","lightgray");
e.setAttribute("stroke-width",4);
e.setAttribute("x",20);
e.setAttribute("y",20);
e.setAttribute("width",50);
e.setAttribute("height",50);
svg.appendChild(e);
document.body.appendChild(svg);