说到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的区别
各有所长