context.drawImage如何工作

时间:2013-03-08 23:29:59

标签: javascript html html5 canvas

在HTML5中,使用画布对象可以绘制图像。

context.drawImage(imageObj, x, y);

这是如何在幕后工作的?浏览器是绘制像素还是使用svg?我没有看到任何svg元素被添加到dom,所以我假设浏览器正在绘制像素,但它是如何实现这一切的呢?是否有浏览器正在使用的库?

为了讨论起见,我想我们可以考虑一下Webkit,但我也会对其他浏览器(IE)感兴趣。

2 个答案:

答案 0 :(得分:1)

嗯......你问过了!

将canvas视为一个生动的大位图...以下是详细信息:

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html

答案 1 :(得分:1)

Canvas是一个基于像素的界面,SVG是矢量图形的标记语言,它们是两个非常独立的东西。

如果将图像添加到画布,则首先将其加载到dom中,然后将其渲染到画布。

您可以将SVG与Canvas结合使用。假设你想要你的画布应用程序扩展,你可以简单地将不同大小的svg文件重新渲染到画布like described here

因为SVG图形可以像图像一样使用,所以它们可以像图像一样呈现在画布上。

如果您想了解更多关于画布的深入知识read the spec