在HTML5中,使用画布对象可以绘制图像。
context.drawImage(imageObj, x, y);
这是如何在幕后工作的?浏览器是绘制像素还是使用svg?我没有看到任何svg元素被添加到dom,所以我假设浏览器正在绘制像素,但它是如何实现这一切的呢?是否有浏览器正在使用的库?
为了讨论起见,我想我们可以考虑一下Webkit,但我也会对其他浏览器(IE)感兴趣。
答案 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