HTML5 基础教程

HTML5 标签参考

HTML5 参考

HTML5 工具

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/html5-canvas.html

HTML5 画布


HTML5 <canvas> 元素为我们使用 JavaScript 绘制图形提供了一种简单而又强大的方式。它可以用来绘制图表,制作摄影作品或者做一些简单(以及复杂)的动画。

这里有一个简单的 <canvas> 元素,除了所有核心的 HTML5 属性,比如 id,name 和 class 等等之外,它只有两个特定的属性 widthheight

<canvas id="mycanvas" width="100" height="100"></canvas>

使用 _getElementById()__ 方法很容易找到这个 <canvas> 元素,如下所示:

var canvas  = document.getElementById("mycanvas");

我们来看一个在 HTML5 文档中使用 <canvas> 元素的简单示例。

<!DOCTYPE HTML>
<html>
<head>
<style>
#mycanvas{
   border:1px solid red;
}
</style>
</head>
<body>
   <canvas id="mycanvas" width="100" height="100"></canvas>
</body>
</html>

 

渲染上下文

<canvas> 初始为空,要显示某物,脚本首先需要访问渲染上下文,然后再上面绘图。

canvas 元素有一个叫做 getContext 的 DOM 方法,用于获得渲染上下文和它的绘图功能。这个函数接受一个参数,2d 上下文类型。

下面的代码就是访问需要的上下文以及检测浏览器是否支持 <canvas> 元素:

var canvas  = document.getElementById("mycanvas");
if (canvas.getContext){   
   var ctx = canvas.getContext('2d');   
   // drawing code here   
} else {   
   // canvas-unsupported code here 
}  

浏览器支持

最新版的 FireFox,Safari,Chrome 和 Opera 都支持 HTML5 Canvas,但是 IE8 不支持原生 Canvas。

我们可以使用 ExplorerCanvas 让 IE 浏览器支持 Canvas。只需按照如下方式引入这个脚本即可:

<!--[if IE]><script src="excanvas.js"></script><![endif]-->