说到H5我们不得不想到canvas 和SVG 他们区别如下 canvas是html5提供的新元素。 而svg存在的历史要比canvas久远,svg并不是html5专有的标签,最初svg是用xml技术 描述二维图形的语言。 Canvas 描述: 通过Javascript来绘制2D图形。 是逐像素进行渲染的。 其位置发生改变,会重新进行绘制。 Canvas提供的功能更原始,适合像素处理,动态渲染和大数据量绘制
依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格式保存结果图像 最适合图像密集型的游戏,其中的许多对象会被频繁重绘 SVG 描述: 一种使用XML描述的2D图形的语言 SVG基于XML意味着,SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器。 在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。 比较:
1.直接将svg元素嵌入html中,且在浏览器中展示的就是相对应的DOM节点 2.能给整个svg添加事件也可以给画的图形添加单独事件 SVG: SVG功能更完善,适合静态图片展示,高保真文档查看和打印的应用场景 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度 不适合游戏应用 SVG和Canvas的区别 各有所长