2

我正在尝试在画布元素上绘制 SVG 图像。我发现的一些来源建议我应该使用一个特殊的库来将 SVG 数据转换为<canvas>笔画,而另一些来源则说我可以使用drawImage()带有 SVG 图像的画布上的调用来绘制它。

首先,我使用该canvg库在画布上绘制我的 SVG,但我认为它功能太丰富,对于我的简单需求来说太重了。但是,在我的应用程序中使用简单的drawImage调用似乎不起作用:什么都没有显示。如果我用 PNG 图像切换 SVG 的资源 URL,它会显示得很好。怎么了?我是否做错了什么,或者不再支持在画布上绘制 SVG?

我已经在 Chrome 21、22-canary 和 Opera 中尝试过。

我的代码(在 CoffeeScript 中):

ctx = @canvas.getContext '2d'
ctx.clearRect 0, 0, @canvas.width, @canvas.height
ctx.drawImg @image, 0, 0, @canvas.width, @canvas.height

如果@image指向 PNG,而不是 SVG,则有效。

4

0 回答 0