Canvas和SVG是HTML5中主要的2D图形技术,前者提供画布标签和绘制API,后者是一整套独立的矢量图形语言,成为W3C标准已经有十多年(2003.1至今),总的来讲,Canvas技术较新,从很小众发展到普遍接受,注重栅格图像处理,SVG则历史悠久,很早就成为国际标准,复杂,发展缓慢canvas
如图:dom
根据二者的不一样特色,Canvas和SVG有各自的适用范围svg
Canvas提供的功能更原始,适合像素处理,动态渲染和大数据量绘制大数据
SVG功能更完善,适合静态图片展现,高保真文档查看和打印的应用场景spa
1.对于画在Canvas上的部件,你须要处理重绘。而SVG则不用,你修改svg dom则系统会自动帮你重绘
2.Hittest,即canvas不负责帮你侦测鼠标/触摸事件发生在哪个图形元件上;而svg能够。
3.Canvas效率高得多事件