Canvas和SVG的区别
-
Canvas主要是用笔刷来动态画2D图
-
SVG主要是用标签来绘制不规则的矢量图
-
两个都主要是用来画2D图形的
-
不同点:
- Canvas画的是位图,但是SVG画的是矢量图
- SVG节点多时渲染慢,Canvas性能更好,但是写起来比较复杂
- SVG支持分层和事件,Canvas不支持,但是可以用库来实现
- Canvas依赖分辨率,SVG不依赖分辨率
- Canvas绘制出来的图形不会出现在DOM当中,但是SVG绘制的会出现在DOM当中
-
Canvas优势:
适合游戏等场所,同时Canvas绘制出来的图形可以导出 -
SVG优势:
因为是矢量图,所以放大之后也不会失真,支持事件处理,文字独立,可以进行编辑和搜索