Ole*_*man 7 javascript html5 svg canvas
我正在开发一个绘图应用程序,现在我想添加一个从我的画布或控制点创建SVG的函数.(我为每个绘图步骤保存鼠标坐标).
canvasElement.toDataURL("image/svg+xml"); // -- doesn't work
Run Code Online (Sandbox Code Playgroud)
一个条件 - 不要使用外部库.
我明白,可以在Javascript中生成一个SVG文件,如:
var mysvg = "<svg>"; for(something) { mysvg += "something"; } //etc
Run Code Online (Sandbox Code Playgroud)
但我不认为这是好方法.
你能告诉一下吗?
我通过生成SVG文件解决了这个问题.我将所有画布绘图功能翻译成SVG绘图标签.
像这样的东西:
function exportSVG() {
var svg = '<?xml version="1.0" standalone="yes"?>';
svg += '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">';
svg += '<svg width="1065px" height="529px" xmlns="http://www.w3.org/2000/svg" version="1.1">';
for(var i=0; i<myPoints.length; i++) {
svg += "M"+myPoints.x[i]+","+myPoints.y[i]+" ";
svg += "L"+myPoints.x[i+1]+","+myPoints.y[i+1];
svg += '" fill="none" stroke="rgb('+color+')" stroke-opacity="'+opacity+'" stroke-width="'+size+'px" stroke-linecap="round" stroke-linejoin="round" />';
}
svg += "</svg>";
}
Run Code Online (Sandbox Code Playgroud)
因此,在svg变量中,将存在从Canvas生成的SVG文件.谢谢大家!
归档时间: |
|
查看次数: |
3712 次 |
最近记录: |