对于开发人员而言,最直观的区别在于:
1.对于画在Canvas上的部件,你需要处理重绘。而SVG则不用,你修改svg dom则系统会自动帮你重绘
2.Hittest,即canvas不负责帮你侦测鼠标/触摸事件发生在哪一个图形元件上;而svg可以。
3.Canvas效率高得多
canvas的工作方式就像传统的2d图形引擎比如GDI;而SVG的工作方式更像WPF(XAML)、HTML/CSS这类由标记控制的绘图引擎
canvas 和svg的比较
下表显示了canvas与svg的主要不同点:
canvas
依赖分辨率
不支持事件处理器
弱文本渲染能力
可以保存最终图片为png或者jpg
最适合许多 对象频繁重画的图形游戏
svg
独立于分辨率
支持事件处理器
最适合具有大渲染面积的应用(谷歌地图)
复杂图像,重画变慢(任何使用dom很多的情况都会变慢)
不适合游戏应用
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
死性不改77896306