12.6 canvas简介
使用HTML5原生多媒体的另一个好处就是可以利用很多来自HTML5或与HTML5相关的新特性和新功能,其中一个就是canvas元素。
canvas对象表示一个HTML画布元素canvas。它没有自己的行为,但是定义了一个API支持脚本化客户端绘图操作。可以直接在该对象上指定宽度和高度,但是,其大多数功能都可以通过CanvasRenderingContext2D对象获得。
<canvas>标签在Safari 1.3中引入,在制作此参考页时,它在Firefox 1.5和Opera 9中也得到了支持。在IE中,<canvas>标签及其API可以使用位于excanvas点、sourceforge点ExplorerCanvas开源项目来模拟。
canvas元素是为了客户端矢量图形而设计的。它自己没有行为,但却把一个绘图API展现给客户端JavaScript以使脚本能够把想绘制的东西都绘制到一块画布上。
<canvas>标签由苹果公司在Safari 1.3 Web浏览器中引入。对HTML的这一根本扩展的原因在于,HTML在Safari中的绘图能力也为Mac OS X桌面的Dashboard组件所使用,并且苹果公司希望有一种方式在Dashboard中支持脚本化的图形。
Firefox 1.5和Opera 9都跟随了Safari的引领。这两个浏览器都支持<canvas>标签。
甚至可以在IE中使用<canvas>标签,并在IE的VML支持的基础上用开源的JavaScript代码(由谷歌公司发起)来构建兼容性的画布。
canvas的标准化的努力由一个Web浏览器厂商的非正式协会推进,目前<canvas>已经成为HTML5中一个正式的标签。
使用canvas元素及相应的JavaScript API可以在网页上创建动画。通过API可以从播放的视频中抓取图像,并在canvas元素中重新绘制该图像,从而创建视频的截图。