# canvas

# canvas 和 svg 区别

特性 SVG Canvas
数据结构 矢量图形,DOM节点 位图,像素数组
渲染方式 保留模式,自动重绘受影响元素 即时模式,需手动重绘
交互性 直接绑定事件,精细交互 需手动检测碰撞,复杂交互成本高
缩放质量 无损,矢量图形 有损,位图缩放
性能(大量元素) 大量元素时性能下降(DOM节点多) 大量元素时性能更优
适用场景 图标、图表、交互式图形 游戏、实时动画、像素操作

选择建议

  • 若需交互性、高清晰度、简单动态修改,选SVG;
  • 若需高性能渲染、复杂动画、像素级控制,选Canvas。
  • 实际项目中,两者也可结合使用(如用SVG做交互控件,Canvas做底层渲染)。
最后更新时间: 7/21/2025, 11:28:01 AM