简介
最后修改于 2023 年 7 月 17 日
HTML5 Canvas 教程的这部分是 JavaScript 语言中 HTML5 Canvas 编程的入门介绍。
关于
这是 HTML5 Canvas 教程。它面向初学者。本教程将教您 HTML5 Canvas 元素在 JavaScript 中进行图形编程的基础知识。本教程中使用的图片可以 此处 下载。
HTML5 Canvas 元素 提供了用于处理矢量和栅格图形的工具。
HTML5 canvas
HTML5 Canvas 元素提供了一个依赖于分辨率的位图区域,可用于即时渲染图表、游戏图形、艺术品或其他视觉图像。简单来说,Canvas 是 HTML5 中的一个新元素,它允许您使用 JavaScript 绘制图形。Canvas 为网页带来了动画,无需 Flash、Silverlight 或 Java 等插件。
HTML5 Canvas 最初由 Apple 于 2004 年推出,用于 Mac OS X WebKit,为 Dashboard 应用程序及其 Safari 网页浏览器提供支持。自那时以来,它已被 Mozilla 和 Opera 采用。后来,W3C 在 HTML5 规范中采用了它。如今,所有现代网页浏览器都支持它。
Canvas 上下文
Canvas 上下文是一个对象,它公开 Canvas API 来执行绘图。它提供对象、方法和属性,用于在 Canvas 绘图表面上绘制和操作图形。上下文通过 getContext
方法检索。该方法的参数指定所需的 API:"2d"
用于二维图形,或 "webgl"
用于二维和三维图形。如果不支持给定的上下文 ID,它将返回 null
。
绘制矩形
我们创建一个 HTML5 Canvas 中图形渲染的简单示例。
<!DOCTYPE html> <html> <head> <title>HTML5 canvas rectangle</title> <script> function draw() { var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); ctx.fillStyle = "cadetblue"; ctx.fillRect(0, 0, 100, 100); } </script> </head> <body onload="draw();"> <canvas id="myCanvas" width="250" height="150"> </canvas> </body> </html>
代码示例在网页的左上角绘制了一个 cadetblue 矩形。
<!DOCTYPE html>
文档类型声明,或 DOCTYPE,是向网页浏览器指示 HTML 文档性质的指令。此特定声明告诉浏览器该网页是一个 HTML5 文档。Canvas 元素最早在 HTML5 标准中引入。
<script> function draw() { ... } </script>
绘图是在自定义 draw
函数中执行的。在 HTML 文档的 body 加载时调用它。
var canvas = document.getElementById('myCanvas');
使用 getElementById
方法,我们获取对 Canvas 元素的引用。
var ctx = canvas.getContext('2d');
使用 getContext
方法检索渲染上下文。
ctx.fillStyle = "cadetblue";
上下文的 fillStyle
属性指定用于形状内部的颜色或样式。然后,该样式用于后续的绘图操作。
ctx.fillRect(0, 0, 100, 100);
我们以指定的颜色绘制一个矩形。矩形的尺寸在方法的参数中给出。前两个参数是 x 和 y 坐标。接下来的两个参数是矩形的宽度和高度。
<body onload="draw();">
onload
属性定义了窗口加载事件的事件处理程序。加载事件在文档加载过程结束时触发。此时,文档中的所有对象都在 DOM 中,所有图像、脚本、链接和子框架都已加载完成。在我们的例子中,我们调用 draw
方法,该方法在 Canvas 上执行绘图。
<canvas id="myCanvas" width="250" height="150"> </canvas>
Canvas 元素使用 <canvas>
和 </canvas>
标签创建。width
和 height
属性设置页面内 Canvas 元素的大小。id
属性在 DOM 层次结构中标识该元素。

阴影
HTML5 Canvas 包含创建阴影的属性。
<!DOCTYPE html> <html> <head> <title>HTML5 canvas shadow</title> <script> function draw() { var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); ctx.shadowOffsetX = 5; ctx.shadowOffsetY = 5; ctx.shadowBlur = 4; ctx.shadowColor = "#888"; ctx.fillStyle = "#000000"; ctx.fillRect(10, 10, 80, 80); } </script> </head> <body onload="draw();"> <canvas id="myCanvas" width="250" height="150"> </canvas> </body> </html>
在示例中,我们在矩形下方创建了一个阴影。
ctx.shadowOffsetX = 5;
shadowOffsetX
属性指定阴影在水平方向上偏移的距离。
ctx.shadowOffsetY = 5;
shadowOffsetY
属性指定阴影在垂直方向上偏移的距离。
ctx.shadowBlur = 4;
shadowBlur
属性指定模糊效果的级别。
ctx.shadowColor = "#888";
shadowColor
属性指定阴影的颜色。

引用
创建本教程使用的以下资源
HTML5 Canvas 教程的这部分是 HTML5 Canvas 的 JavaScript 编程入门介绍。