`
sungang_1120
  • 浏览: 323742 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

HTML5学习之——HTML 5 Canvas vs. SVG

阅读更多

 

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

SVG

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

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

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

 

Canvas

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

Canvas 是逐像素进行渲染的。

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

 

Canvas 与 SVG 的比较

下表列出了 canvas 与 SVG 之间的一些不同之处。

Canvas

  • 依赖分辨率
  • 不支持事件处理器
  • 弱的文本渲染能力
  • 能够以 .png 或 .jpg 格式保存结果图像
  • 最适合图像密集型的游戏,其中的许多对象会被频繁重绘

SVG

  • 不依赖分辨率
  • 支持事件处理器
  • 最适合带有大型渲染区域的应用程序(比如谷歌地图)
  • 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
  • 不适合游戏应用
分享到:
评论

相关推荐

    HTML SVG绘图.zip_zip压缩包

    描述中的"canvas画面"指的是HTML5的另一个重要特性——Canvas API。Canvas提供了一个画布元素,通过JavaScript来绘制2D图形,适合动态或数据驱动的图像,如图表、游戏场景等。与SVG不同,Canvas是像素渲染,更适合...

    HTML5 Canvas核心技术.pdf

    HTML5 Canvas是现代网页开发中一种极为重要的图形绘制技术。它允许在网页上绘制图形,通过JavaScript控制图形的绘制细节,让网页不仅仅...通过本书的学习,你将能够利用HTML5 Canvas技术,实现丰富多彩的网页交互内容。

    HTML5 SVG绘制大树.rar

    与HTML5的另一个图形API——Canvas相比,SVG的优势在于其图形是矢量的,这意味着它们可以无限缩放而不会失去清晰度。Canvas则更适合于像素级操作,适合画图游戏或实时渲染复杂图形。SVG更适合静态或半静态的图形,...

    HTML5 Canvas+SVG实现的彩色水泡分裂动画特效源码.zip

    在本资源中,"HTML5 Canvas+SVG实现的彩色水泡分裂动画特效源码.zip",我们可以看到两种重要的图形绘制技术——Canvas和SVG,被巧妙地结合起来,创造出引人入胜的视觉效果。 Canvas是HTML5中的一个二维绘图画布,...

    html2canvas代码包括

    在压缩包中,有两个文件——`html2canvas.js`和`html2canvas.min.js`。这两个文件都是HTML2Canvas库的实现,区别在于`html2canvas.js`是未压缩的版本,代码可读性更强,方便开发者调试和理解;而`...

    HTML5教程——不错的教材

    这个"HTML5教程——不错的教材"压缩包提供了一份详细的PDF教程,对于想要学习或深入了解HTML5的初学者来说,是一份非常有价值的资源。 HTML5的主要改进包括以下几个方面: 1. **语义化标签**:HTML5引入了一系列新...

    HTML5 Canvas+SVG+CSS3实现下雨天飞碟摇摆的标牌杆白云动画效果源码.zip

    在这个“HTML5 Canvas+SVG+CSS3实现下雨天飞碟摇摆的标牌杆白云动画效果源码”项目中,我们可以看到HTML5的三个核心组件——Canvas、SVG和CSS3被巧妙地结合在一起,创造出一个生动的动画场景。 首先,Canvas是HTML5...

    HTML5学习文档汇总

    这个压缩包包含三份关于HTML5学习的重要文档,分别是“HTML5权威指南”、“[HTML+5+从入门到精通]”以及“WebQQ_3.0:让html5改变你对Web的看法”。 首先,“HTML5权威指南”很可能详尽介绍了HTML5的新特性、语义化...

    HTML5学习笔记(总结提炼版)——001

    3. canvas画布:HTML5的<canvas>元素提供了一种在浏览器中动态绘制图形的方式,适用于创建图表、游戏或其他复杂视觉效果。 4. SVG矢量图:支持内联SVG,可以创建高质量、可缩放的图形,且文件大小相对较小。 5. ...

    最新canvg.js 将SVG转换成Png(1.4)

    4. **HTML5**:HTML5是HTML的最新版本,引入了许多新特性,如离线存储、媒体元素、canvas画布、svg图形等,提高了网页开发的效率和用户体验。 5. **Canvas**:HTML5中的Canvas元素允许通过JavaScript动态绘制2D图形...

    HTML5网站源码——含多种类型图表,稍加修改即可使用

    这些库利用HTML5的Canvas或SVG元素来绘制图表,提供了丰富的定制选项,包括颜色、大小、动画效果等。 对于开发者来说,使用这些源码的好处在于可以节省大量的开发时间。只需根据自己的需求对源码进行微调,比如更改...

    html5.rar_H.3155.com HTML5_HTML5 小游戏_HTML5小游戏_html5_html5 game m

    "html5.rar_H.3155.com HTML5_HTML5 小游戏_HTML5小游戏_html5_html5 game m"这个压缩包文件包含了一个使用HTML5开发的小游戏——超级玛丽的实现。超级玛丽是经典的平台跳跃游戏,通过HTML5的重构,可以在现代浏览器...

    HTML5示例——数百个示例及源代码

    这个压缩包“HTML5示例——数百个示例及源代码”是学习和理解HTML5的强大资源,无论是初学者还是经验丰富的开发者都能从中受益。 首先,让我们深入探讨HTML5的一些关键知识点: 1. **新元素的引入**:HTML5引入了...

    android与html5的交互——数据库操作,UI操作,以及html5的localStorage、定位功能

    HTML5提供了丰富的标签和API,如Canvas、SVG、Flexbox等,用于构建复杂的用户界面。在Android应用中,通过WebView组件,可以加载并显示HTML5页面,实现动态和响应式的布局。此外,通过调用JavaScript接口,Android...

    html5——企业网页

    在这个“html5——企业网页”的实践中,我们将探讨HTML5如何应用于构建现代企业网站,以及其核心知识点。 首先,HTML5的语义化元素是其一大亮点。如`<header>`、`<nav>`、`<main>`、`<article>`、`<aside>`和`...

    html5 svg一飞冲天火箭动画返回顶部特效

    此外,JavaScript与HTML5的Canvas或SVG结合可以提供更丰富的交互性。在这个特效中,可能有一个“返回顶部”的按钮,当用户滚动页面到一定位置时,火箭动画会触发,火箭升至页面顶部,同时也将页面滚动回顶部。这可以...

    java EE 7 & HTML5 应用开发——构建和部署同时支持桌面和移动设备的动态高性能企业级应用.rar

    5. **SVG**:向量图支持,清晰度不受分辨率影响。 6. **Web Workers**:后台多线程处理,提升计算密集型任务性能。 7. **Geolocation API**:获取用户位置信息,实现地理位置相关应用。 结合Java EE 7和HTML5,...

    网页设计必备——html初级教程

    这个"网页设计必备——html初级教程"包含两个CHM文件:HTML入门与提高.CHM和HTML基础教程.chm,它们将帮助初学者理解并掌握HTML的基本概念和语法。 HTML入门与提高.CHM可能涵盖以下内容: 1. HTML简介:解释HTML的...

    HTML5+SVG流体3D自行车骑行动画特效.zip

    HTML5引入了许多新特性,包括离线存储、拖放功能、媒体元素、 canvas画布以及我们这里关注的重点——SVG(Scalable Vector Graphics)。 SVG是一种基于XML的矢量图像格式,它允许开发者创建高质量、可缩放的图形,...

Global site tag (gtag.js) - Google Analytics