开发者必须清楚SVG技术和Canvas是不同的。SVG是基于XML的图形矢量显示技术,可以将其与CSS混搭使用,也可以使用SVGDOM动态向其添加行为。而Canvas则允许使用JavaScript去绘制各种图像和图形,下面是一些Canvas胜过svg的优点。
Canvas在绘制复杂图像时,绘画速度比SVG快不少。可以保存Canvas绘制的图像,但SVG不能直接使用浏览器的保存功能保存。在Canvas中所有东西都以像素形式存在。SvG需要在浏览器中使用插件显示。但要同时注意到,SVG也有自身的优势,如下:svG的图形解析分辨率能适应不同大小尺寸。SVG由于使用XML,因此能定义很多不同的目标元素。SvG能绘制很复杂的动画效果。
那如何选择呢
建议如果网站的图像对分辨率要求高(矢量图要求),那么选择SVG,如果应用的是网页游戏等对速度要求相应高的,也不想过多跟XML打交道的话,则选用Canvas。