我正在尝试在canvas元素上绘制SVG图像。我找到的一些来源建议我应该使用一个特殊的库将SVG数据转换为<canvas>
笔画,而其他人说我可以在画布上使用带有SVG图像的drawImage()
调用来绘制它。 / p>
首先,我使用canvg
库在画布上绘制我的SVG,但我认为它太功能丰富,而且对于我的简单需求而言太沉重了。但是,使用简单的drawImage
调用似乎在我的应用程序中不起作用:不显示任何内容。如果我用一个PNG图像切换我的SVG的rescource 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。