欢迎访问藏葵网!互联网技术知识分享交流平台,如需帮助请联系在线客服!

技术文档

Technical Documentation

HTML <canvas> 标签

更新:2025-03-13 13:33:53 来源: 整理:藏葵网 点击:

实例  

如何通过canvas元素来显示一个红色的矩形:

<canvas id="myCanvas"></canvas>

<script type="text/javascript">

var canvas=document.getElementById('myCanvas');

var ctx=canvas.getContext('2d');

ctx.fillStyle='#FF0000';

ctx.fillRect(0,0,80,100);

</script>

浏览器支持  

InternetExplorer9+,Firefox,Opera,Chrome以及Safari支持<canvas>标签。  

注释:InternetExplorer8以及更早的版本不支持<canvas>标签。  

定义和用法  

<canvas>标签定义图形,比如图表和其他图像。  

<canvas>标签只是图形容器,您必须使用脚本来绘制图形。  

HTML4.01与HTML5之间的差异  

<canvas>标签是HTML5中的新标签。  

属性  

new:HTML5中的新属性。

属性描述
heightpixels设置 canvas 的高度。
widthpixels设置 canvas 的宽度。

<canvas>的历史  

这个HTML元素是为了客户端矢量图形而设计的。它自己没有行为,但却把一个绘图API展现给客户端JavaScript以使脚本能够把想绘制的东西都绘制到一块画布上。  

<canvas>标记由Apple在Safari1.3Web浏览器中引入。对HTML的这一根本扩展的原因在于,HTML在Safari中的绘图能力也为MacOSX桌面的Dashboard组件所使用,并且Apple希望有一种方式在Dashboard中支持脚本化的图形。  

Firefox1.5和Opera9都跟随了Safari的引领。这两个浏览器都支持<canvas>标记。  

我们甚至可以在IE中使用<canvas>标记,并在IE的VML支持的基础上用开源的JavaScript代码(由Google发起)来构建兼容性的画布。  

<canvas>的标准化的努力由一个Web浏览器厂商的非正式协会在推进,目前<canvas>已经成为HTML5草案中一个正式的标签。  

<canvas>标记和SVG以及VML之间的差异  

<canvas>标记和SVG以及VML之间的一个重要的不同是,<canvas>有一个基于JavaScript的绘图API,而SVG和VML使用一个XML文档来描述绘图。  

这两种方式在功能上是等同的,任何一种都可以用另一种来模拟。从表面上看,它们很不相同,可是,每一种都有强项和弱点。例如,SVG绘图很容易编辑,只要从其描述中移除元素就行。  

要从同一图形的一个<canvas>标记中移除元素,往往需要擦掉绘图重新绘制它。  

如何使用<canvas>标记绘图  

大多数Canvas绘图API都没有定义在<canvas>元素本身上,而是定义在通过画布的getContext()方法获得的一个“绘图环境”对象上。  

CanvasAPI也使用了路径的表示法。但是,路径由一系列的方法调用来定义,而不是描述为字母和数字的字符串,比如调用beginPath()和arc()方法。  

一旦定义了路径,其他的方法,如fill(),都是对此路径操作。绘图环境的各种属性,比如fillStyle,说明了这些操作如何使用。  

注释:CanvasAPI非常紧凑的一个原因上它没有对绘制文本提供任何支持。要把文本加入到一个<canvas>图形,必须要么自己绘制它再用位图图像合并它,或者在<canvas>上方使用CSS定位来覆盖HTML文本

加入收藏 返回顶部
上一篇 2025-03-13 13:33:53
下一篇 2025-03-13 13:33:53
搜索 帮助 投诉 顶部