080_html5 Canvas和SVG

1. Canvas和SVG都允许您在浏览器中创建图形, 但是它们在根本上是不同的。

2. SVG

2.1. SVG是一种使用XML描述2D图形的语言。

2.2. SVG基于XML, 这意味着SVG DOM中的每个元素都是可用的。您可以为某个元素附加JavaScript事件处理器。

2.3. 在SVG中, 每个被绘制的图形均被视为对象。如果SVG对象的属性发生变化, 那么浏览器能够自动重现图形。

3. Canvas

3.1. Canvas通过JavaScript来绘制2D图形。

3.2. Canvas是逐像素进行渲染的。

3.3. 在Canvas中, 一旦图形被绘制完成, 它就不会继续得到浏览器的关注。如果其位置发生变化, 那么整个场景也需要重新绘制, 包括任何或许已被图形覆盖的对象。

4. Canvas与SVG的比较

4.1. Canvas

 4.1.1. 依赖分辨率。

 4.1.2. 不支持事件处理器。

 4.1.3. 弱的文本渲染能力。

 4.1.4. 能够以.png或.jpg格式保存结果图像。

 4.1.5. 最适合图像密集型的游戏, 其中的许多对象会被频繁重绘。

4.2. SVG

 4.2.1. 不依赖分辨率。

 4.2.2. 支持事件处理器。

 4.2.3. 最适合带有大型渲染区域的应用程序(比如谷歌地图)。

 4.2.4. 复杂度高会减慢渲染速度(任何过度使用DOM的应用都不快)。

 4.2.5. 不适合游戏应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值