canvas教程

(HTML5新增标签)

字号+ 作者:H5之家 来源:H5之家 2017-04-29 16:00 我要评论( )

Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap)。...

收藏

查看我的收藏

0

canvas (HTML5新增标签) 锁定

Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap)。

中文名 画布 外文名 Canvas 隶属语言 HTML5

目录

  • 1
  • 2
  • 3
  • 4
  • canvas定义和用法:

    Canvas 对象表示一个 HTML 画布元素 -<canvas>。它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作。

    你可以直接在该对象上指定宽度和高度,但是,其大多数功能都可以通过CanvasRenderingContext2D 对象获得。 这是通过 Canvas 对象的getContext() 方法并且把直接量字符串 "2d" 作为唯一的参数传递给它而获得的。

    <canvas> 标记在 Safari 1.3 中引入,在制作此参考页时,它在 Firefox 1.5 和 Opera 9 中也得到了支持。在 IE 中,<canvas> 标记及其 API 可以使用位于excanvas点sourceforge点net的 ExplorerCanvas 开源项目来模拟。

    提示:如果希望学习如何使用 <canvas> 来绘制图形,可以访问 Mozilla 提供的Canvas 教程(英文)以及相应的中文 Canvas 教程。

    canvas<canvas> 的历史

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

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

    Firefox 1.5 和 Opera 9 都跟随了 Safari 的引领。这两个浏览器都支持 <canvas> 标记。

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

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

    canvasSVG 以及VML之间的差异

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

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

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

    canvas使用 <canvas> 标记绘图

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

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

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

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

    canvasCanvas 对象的属性

    height 属性

    画布的高度。和一幅图像一样,这个属性可以指定为一个整数像素值或者是窗口高度的百分比。当这个值改变的时候,在该画布上已经完成的任何绘图都会擦除掉。默认值是 300。

    width 属性

    画布的宽度。和一幅图像一样,这个属性可以指定为一个整数像素值或者是窗口宽度的百分比。当这个值改变的时候,在该画布上已经完成的任何绘图都会擦除掉。默认值是 300。

    canvasCanvas 对象的方法

    方法

    描述

    getContext()

    返回一个用于在画布上绘图的环境。

    例子

    <!DOCTYPE HTML>

    <html>

    <body>

    <canvas id="myCanvas">your browser does not support the canvas tag </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>

    </body>

    </html>

    词条标签:

    科学

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • canvas游戏开发学习之四:应用图像

      canvas游戏开发学习之四:应用图像

      2017-04-29 16:00

    • JS canvas学习笔记

      JS canvas学习笔记

      2017-04-29 15:03

    • Canvas 绘制时钟

      Canvas 绘制时钟

      2017-04-29 12:04

    • Canvas与ValueAnimator

      Canvas与ValueAnimator

      2017-04-28 18:00

    网友点评