canvas svg

canvas

HTML5 canvas标签用于绘制图像(通过脚本,通常是 JavaScript)。

不过,canvas元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。

Canvas是基于位图的图像,它不能够改变大小,只能缩放显示;

Canvas提供的功能更原始,适合像素处理,动态渲染和大数据量绘制

svg

SVG 意为可缩放矢量图形(Scalable Vector Graphics)。

SVG 使用 XML 格式定义图像。

SVG更适合用来做动态交互,而且SVG绘图很容易编辑,只需要增加或移除相应的元素就可以了

基于矢量的,所有它能够很好的处理图形大小的改变。

SVG功能更完善,适合静态图片展示,高保真文档查看和打印的应用场景