Canvas 和SVG的区别是什么?

232 阅读1分钟

答题思路为:先说一,再说二,再说相同点,最后说不同点。

Canvas

Canvas 主要是用笔刷来绘制2D图形的。

SVG

SVG主要是用标签来绘制不规则矢量图的。

相同点

都是主要用来画2D图形的。

不同点

  • Canvas画的是位图, SVG画的是矢量图。
  • SVG节点过多时渲染慢, Canvas性能更好一点, 但写起来更复杂。
  • SVG支持分层和事件, Canvas 不支持,但是可以用库实现。