Canvas 和 SVG 的区别是什么?

249 阅读1分钟

Canvas 和 SVG 的区别是什么?

  • 思路:逐个说明,再相同点,最后不同点
  1. canvas 主要是用笔刷来绘制2D图形的
  2. svg 主要是用标签来绘制不规则的矢量图
  • 相同点:都是用来画2D图形的

  • 不同点:

  1. canvas画的是位图;svg画的是矢量图
  2. svg节点过多时渲染慢,canvas性能更好点,但写起来更复杂
  3. svg支持分层和事件,canvas不支持但可以用库实现
  • 得分点:位图VS矢量图、渲染性能、是否支持分层和事件
  • 坑点:主要个人能力菜,不同点第三点不建议回答,因为可能会被深入问svg具体如何分层和事件及canvas所使用的库是哪些,如何使用;面试中要求稳妥,主观觉得少说不代表坏事