当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > HTML5教程(1):HTML5的Canvas概述

HTML/XHTML教程
你应该知道的CSS的十八个技巧
初学者很好的参考:HTML标签详尽讲解
学习网页标准制作技术之CSS相关基础知识
学习网页标准制作网页之CSS混合布局应用
HTML基础教程:详细学习常用HTML标签的语义
网页设计基础:基本的页面设计元素布局比例
网页制作基础:图像文件的路径知识
html基础系列教程Ⅰ:从p开始,循序渐进
html基础系列教程Ⅱ:丰富段落里的标签
html基础系列教程Ⅲ:用途相似的标签
html基础系列教程Ⅳ:链接与文本标签们
html基础系列教程Ⅴ:美化段落文本Ⅰ
html基础系列教程Ⅵ:美化段落文本Ⅱ
Web标准知识:(X)HTML Strict 下的嵌套规则
Web标准知识:语义与样式无关
Web标准知识:DIV不是万能膏药
web标准知识:当标题不能显示完整的时候
web标准知识:以图换字的几个方法及思路
CSS教程:legend标签设定宽度的技巧
html基础:常用小技巧几例

HTML/XHTML教程 中的 HTML5教程(1):HTML5的Canvas概述


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 198 ::
收藏到网摘: n/a

<canvas>是一个新的HTML元素,这个元素可以被Script语言(通常是JavaScript)用来绘制图形。例如可以用它来画图、合成图象、或做简单的(和不那么简单的)动画。右面的图象展示了一些<canvas>的应用示例,我们将会在此教程中看到他们的实现。

<canvas>最先在苹果公司(Apple)的Mac OS X Dashboard上被引入,而后被应用于Safari。基于Gecko1.8的浏览器,例如Firefox 1.5,也支持这个新元素。元素<canvas>是WhatWG Web applications 1.0也就是大家都知道的HTML 5标准规范的一部分。

在本教程中,我将试着讲述如何在你自己的网页中使用<canvas>元素。提供的示例应该会给你些清晰概念,即用<canvas>能做些什么的。这些示例也可作为你应用<canvas>的起点。

开始使用之前

用元素<canvas>并不难,只要你具有HTML和 JavaScript的基础知识。

如上所述,并不是所有现代浏览器都支持<canvas>元素,所以你需要 Firefox 1.5或更新版本、或者其他基于Gecko的浏览器例如Opera 9、或者最近版本的Safari才能看到所有示例的动作。

1.Canvas 是甚么?

下面网址可以找到html5 Canvas的完整定义
http://www.whatwg.org/specs/web-apps/current-work/#the-canvas

现在Firefox 2,safari 都直接支持Canvas,IE 需要一个ExCanvas 的js代码库转换。

下面网址可以找到 ExCanvas[此js库尚未提供对arcto(),clip()的支持,因此基于其上的各种chart组件天然的不能生成pie图]
http://excanvas.sourceforge.net/

Mozilla的Canvas入门
http://developer.mozilla.org/en/docs/Category:HTML:Canvas

Mininova的Canvas入门
http://labs.mininova.org/canvas/

2.Canvas 能做甚么?

(1)Msx模拟器

It emulates the underlying Z80 CPU, TMS9918 Video Display Processor (VDP), PPI, RAM slots and Megaram. In its present form, it should be able to run any program or game developed for MSX 1.0.

用js模拟Z80等硬件,读取rom信息,无声游戏
http://jsmsxdemo.googlepages.com/jsmsx.html

(2)Painter
假如性能允许,发展成Web photo也是可能的事情。
http://caimansys.com/painter/index.html

(3)效果
水波纹
http://timelessname.com/canvas/experiment01/
某个模糊理论视觉模型
http://timelessname.com/canvas/experiment02/

(4)3D

多面体
http://www.polyhedra.org/poly/

3D地图
Mozilla的例子,RayCaster 就是一个。

Canvascape - 3D walker,比上面例子更完善些,还提供纹理贴图功能
一个类似CS的界面
http://www.abrahamjoffe.com.au/ben/canvascape/

(5)chart组件

成形的有 WebFx Chart,Flot等,需要可自行搜索。

3.Canvas 的发展

(1)Canvas代码转换到flash(porting canvas to flash)
http://team.mixmedia.com/index.php?title=porting_canvas_to_flash&more=1&c=1&tb=1&pb=1
(2)支持Canvas的框架

mootools支持Canvas 的调用,并有一个mocha的基于mootools的组件提供一个窗体功能。