Javascript 使用canvg将svg绘制到画布
我使用canvg在画布中设置svg文件。 设置svg url时一切正常:Javascript 使用canvg将svg绘制到画布,javascript,canvas,svg,canvg,Javascript,Canvas,Svg,Canvg,我使用canvg在画布中设置svg文件。 设置svg url时一切正常: var canvas = doc.getCanvas(num); var context = canvas.getContext('2d'); context.drawSvg("http://localhost:8084/manual.svg", 0, 0, width, height); 但当我尝试写作时(它不起作用): 其中变量svg获取manual.svg内容 img.src = "data:image/svg+
var canvas = doc.getCanvas(num);
var context = canvas.getContext('2d');
context.drawSvg("http://localhost:8084/manual.svg", 0, 0, width, height);
但当我尝试写作时(它不起作用):
其中变量svg获取manual.svg内容
img.src = "data:image/svg+xml;base64,"+btoa(svgContent);
context.drawImage(img, 0, 0, width, height);
这是解决此问题的一个变体。字符串“svg”是否已转义?测试的一种方法是将数据URI复制粘贴到浏览器中的普通地址字段。那么它显示正确吗?埃里克,谢谢你的回复。我用drawImage函数解决了这个问题。而且它比drawSvg工作得更快。变量svgContent中有什么?画布或上下文?svgContent需要是svg元素(包括标记本身)的outerHTML
img.src = "data:image/svg+xml;base64,"+btoa(svgContent);
context.drawImage(img, 0, 0, width, height);