Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用canvg将svg绘制到画布_Javascript_Canvas_Svg_Canvg - Fatal编程技术网

Javascript 使用canvg将svg绘制到画布

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+

我使用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+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);