HTML5高级程序设计2.pdf

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
22 第2 章 Canvas API 第2 章 Canvas API 2 在本章中,我们将探索如何使用HTML5 的Canvas API。Canvas API 很酷,可以通过它 来动态生成和展示图形、图表、图像以及动画。本章将使用渲染API (rendering API ) 的基本功能来创建一幅可以放大缩小并自适应浏览器环境的图。还会演示如何基于用户输入来动 态创建图像,生成热点图。当然 ,我们也会提醒你在使用HTML5 Canvas 时需要注意的问题 ,并 且分享解决这些问题的方法。 本章只涉及了最基本的图形知识,因此 ,你大可不必担心学不会而跳过本章。来吧,让我们 一起来感受HTML5 中这个强大的特性吧。 2.1 HTML5 Canvas 概述 关于HTML5 Canvas API 完全可以写一本书(还不会是一本很薄的书)。由于只有一章的篇 幅,所以我们将讨论API 中那些我们认为是最常用的功能。 2.1.1 历史 Canvas 的概念最初是由苹果公司提出的,用于在 Mac OS X WebKit 中创建控制板部件 (dashboard widget )。在Canvas 出现之前,开发人员若要在浏览器中使用绘图API ,只能使用Adobe 的Flash 和SVG (Scalable Vector Graphics ,可伸缩矢量图形)插件,或者只有IE 才支持的VML (Vector Markup Language ,矢量标记语言),以及其他一些稀奇古怪的JavaScript 技巧。 假设我们要在没有canvas 元素的条件下绘制一条对角线——听起来似乎很简单,但实际上 如果没有一套二维绘图API 的话,这会是一项相当复杂的工作。HTML5 Canvas 能够提供这样的 功能,对浏览器端来说此功能非常有用 ,因此Canvas 被纳入了HTML5 规范。 起初 ,苹果公司曾暗示可能会为WHATWG (Web Hypertext Application Technology Working Group ,Web 超文本应用技术工作组)草案中的Canvas 规范申请知识产权,这在当时引起了一些 Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。 2.1 HTML5 Canvas 概述 23 Web 标准化追随者的关注。不过,苹果公司最终还是按照W3C 的免版税专利权许可条款公开了 1 其专利。 SVG 和CANVAS 对比 2 “ Canvas 本质上是一个位图画布,其上绘制的图形是不可缩放的,不能像SVG 图像那样可以 被放大缩小。此外,用 Canvas 绘制出来的对象不属于页面 DOM 结构或者任何命名空间——这 3 点被认为是一个缺陷。SVG 图像却可以在不同的分辨率下流畅地缩放 ,并且支持点击检测(能 4 检测到鼠标点击了图像上的哪个点 )。 既然如此,为什么WHATWG 的HTML5 规范不使用SVG 呢?尽管Canvas 有明显的不足, 5 但HTML Canvas API 有两方面优势可以弥补:首先 ,不需要将所绘制图像中的每个图元当做

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档