介绍
<canvas>是一个可以使用脚本 (通常为JavaScript) 来绘制图形的 HTML 元素。例如,它可以用于绘制图表、制作图片构图或者制作简单的动画。
Canvas 的默认大小为 300 像素 ×150 像素(宽 × 高,像素的单位是 px)。但是,可以使用 HTML 的高度和宽度属性来自定义 Canvas 的尺寸。为了在 Canvas 上绘制图形,我们使用一个 JavaScript 上下文对象,它能动态创建图像
<canvas> 元素创造了一个固定大小的画布,它公开了一个或多个渲染上下文,其可以用来绘制和处理要展示的内容。canvas 起初是空白的。为了展示,首先脚本需要找到渲染上下文,然后在它的上面绘制。<canvas> 元素有一个叫做 getContext() 的方法,这个方法是用来获得渲染上下文和它的绘画功能。getContext()
接受一个参数,即上下文的类型。
如何创建一个canvas
1 创建标签
<canvas id="stockGraph" width="150" height="150">current stock price: $3.15 +0.15
</canvas>
2 获取canvas标签的上下文
代码的第一行通过使用 document.getElementById() 方法来为 <canvas> 元素得到 DOM 对象。一旦有了元素对象,你可以通过使用它的 getContext() 方法来访问绘画上下文。
var canvas = document.getElementById("tutorial");
var ctx = canvas.getContext("2d");
3 检查浏览器的支持性
替换内容是用于在不支持 <canvas> 标签的浏览器中展示的。通过简单的测试 getContext()
方法的存在,脚本可以检查编程支持性。上面的代码片段现在变成了这个样子:
var canvas = document.getElementById("tutorial");if (canvas.getContext) {var ctx = canvas.getContext("2d");// drawing code here
} else {// canvas-unsupported code here
}
骨架
<html><head><title>Canvas tutorial</title><script type="text/javascript">function draw() {var canvas = document.getElementById("tutorial");if (canvas.getContext) {var ctx = canvas.getContext("2d");}}</script><style type="text/css">canvas {border: 1px solid black;}</style></head><body onload="draw();"><canvas id="tutorial" width="150" height="150"></canvas></body>
</html>
运行结果: