在图像加载时将SVG绘制到画布会导致崩溃

时间:2017-03-06 04:24:13

标签: javascript google-chrome d3.js canvas svg

我有一个d3.js可视化,并希望在客户端上将创建的SVG输出为PNG。过去我通过将SVG绘制到画布然后将画布转换为blob来实现此目的。这在FF中正常工作,但导致Chrome崩溃。崩溃中的console.log(image)console.log(this)都会在Chrome控制台中打印空白行,ctx.drawImage(image, 0, 0)似乎导致崩溃(“完成绘图”未打印)。但是,如果我在ctx.drawImage(image, 0, 0)之前或之前设置了一个断点,那么一切正常,没有任何事情会崩溃。这在某种程度上是Chrome中的竞争条件,还是无法访问load事件中的图像变量?

修改1:添加了一个完整的小提琴。 svg / xml字符串是硬编码的,因为生成svg的代码取决于安全服务器。 Chrome 56.0.2924.87(64位)

https://jsfiddle.net/weeser/ngup768m/

0 个答案:

没有答案