我正在拍摄一张SVG图像,将其绘制到画布上,并尝试通过toDataURL导出它,但Chrome正在向我抛出DOM Exception 18安全错误。我知道问题是因为我用数据URI方案(数据:image / svg + xml; base64)将SVG图像绘制到画布上,所以我猜浏览器将其视为跨域(即安全问题),但我想不出有任何其他方法可以将我的SVG内容放到画布上。我无法托管它,因为在需要通过toDataURL导出之前,SVG内容是动态的并且先被操作。
我通读了这里提出的其他一些类似的问题,但找不到解决问题的方法。
答案 0 :(得分:3)
在Chrome中将任何 SVG绘制到canvas
上,因为SVG 可能包含foreignObject
,here is the bug。 Chrome也存在data URI schemes and canvas
的问题,因此您遇到了双重打击。
答案 1 :(得分:0)
我有同样的问题。作为一种解决方法,我使用SVG to HTML5 Canvas Converter将svg转换为canvas调用。