HTML SVG
-
-
-
SVG和Canvas之间的差异
SVG是一种用于描述XML中的2D图形的语言。 Canvas即时绘制2D图形(使用JavaScript)。 SVG是基于XML的,这意味着SVG DOM中的每个元素都可用。您可以为元素附加JavaScript事件处理程序。 在SVG中,每个绘制的形状都被记住为对象。如果更改了SVG对象的属性,则浏览器可以自动重新渲染形状。 Canvas逐像素渲染。在Canvas中,一旦绘制了图形,浏览器就会忘记它。如果想更改其位置,则需要重绘整个场景,包括可能已被图形覆盖的任何对象。 下表显示了Canvas和SVG之间的一些重要差异:Canvas SVG 分辨率相关 分辨率独立 不支持事件处理程序 支持事件处理程序 文本渲染能力差 最适合大型渲染区域的应用程序(例如谷歌地图) 可以将生成的图像保存为.png或.jpg。 如果渲染复杂(任何使用DOM的东西都会很慢) 非常适合图形密集型游戏 不适合游戏应用 要了解有关SVG的更多信息,请阅读我们的SVG教程。