将SVG图像绘制到CanvasRenderingContext2D中

时间:2015-01-26 12:08:35

标签: javascript image svg

是否可以做这样的事情

var image = new Image();
image.src = 'img.svg';
context.drawImage(image, x, y); // context is an instance of CanvasRenderingContext2D

带有SVG图像?实际上这个代码有效,但我认为图像转换为.jpg或类似,因为如果我尝试缩放浏览器页面,图像会变得粗糙。

澄清:图片应该在画布上下文中多次重新绘制(即移动),因此像“使用此库”这样的建议应该考虑这个事实

修改

从之前的讨论中看,问题似乎是由于画布属性(画布不是浏览器可缩放的)而不是由于加载不正确。我可以获取并修改(最终)画布的这个属性以实现我的目的吗?我必须画在画布上,不幸的是没有其他选择。

1 个答案:

答案 0 :(得分:0)

根据想要的缩放级别翻译渲染的svg。

How to detect page zoom level in all modern browsers?

解释了浏览器缩放级别检测。您可以使用fabricjs进行画布操作(http://fabricjs.com/)。