我正在尝试使用drawSvg()函数将SVG转换/放入画布。命令是:ctx.drawSvg(SVG_XML_OR_PATH_TO_SVG, dx, dy, dw, dh);
。当我特意将svg作为参数放入时,这很好用,例如:ctx.drawSvg('<svg><rect x="0" y="0" width="100" height="100" fill="red" /></svg>', 0 , 0 , 500, 500);
,我最终得到一个红色正方形的画布,这是完全正确的。但是,我需要能够从文档中获取Svg标记并将其用作参数。我尝试了几种不同的方法来做到这一点,但没有一种方法可行。我该怎么做?
这是一个jsFiddle页面,其中包含我想要做的事情。谢谢!
http://jsfiddle.net/qDmhV/722/
答案 0 :(得分:5)
.html()
返回一个元素的innerHTML,包括前导和尾随空格,drawSvg()
会阻塞。
试试这个(from your fiddle):
ctx.drawSvg($.trim($("#test2").html()), 0 , 0 , 500, 500);
$.trim
将为您删除该空白。