svg与canvas的区别

........虽然尼  它俩都是用来绘制图形的 但是 还是各有优势哒!

首先 svg

  1.svg是一个使用XML描述2D图形的语言

  2.svg基于XML,这意味着svg DOM 中的每个元素都是可用的。您可以为某个元素附加javascript事件处理器。

在svg中,每个被绘制得图形均被视为对象。如果svg对象的属性发生变化,那么浏览器能自动重现图形。

特点:

  不依赖分辨率

  支持事件处理器

  最适合带有大型渲染区域的应用程序(比如谷歌地图)

  复杂度高会减慢渲染速度(任何过度使用DOM的应用都不快)

  不适合游戏应用

Canvas

  Canvas通过JavaScript来绘制2D图形。

  Canvas是逐像素进行渲染的。

  在Canvas中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

特点:

      依赖分辨率

      不支持事件处理器

      弱的文本渲染能力

      能够以.jpg或.png格式保存结果图像

      最适合图像密集型的游戏,其中的许多对象会被频繁重绘

好啦!以上就是我的一些小小的总结。多多关照哦⊙∀⊙!

你可能感兴趣的:(svg与canvas的区别)