HTML5 Canvas



<canvas> 元素用于在网页上绘制图形.


什么是 HTML Canvas?

HTML <canvas> 可以使用JavaScript在web页面上绘制图形.

<canvas> 元素只是图形的一个容器. 你必须使用JavaScript来绘制图形.

画布有几种方法,用于绘制路径、框、圆、文本和添加图像


浏览器支持

表中的数字指定第一个完全支持“Canvas”元素的浏览器版本

元素
<canvas> 4.0 9.0 2.0 3.1 9.0

Canvas 实例

画布是在HTML页面的一个矩形区域. 默认情况下,画布没有边框,没有内容.

标记看起来像这样:

<canvas id="myCanvas" width="200" height="100"></canvas>

注意: 总是指定一个id属性(在脚本中提到),以及定义画布大小的宽度和高度属性。若要添加边框,请使用样式属性。

下面是一个基本的空画布的例子:

你的浏览器不支持Canvas元素
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
</canvas>

让我试试


画线

你的浏览器不支持Canvas元素
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();

让我试试


画圆

你的浏览器不支持Canvas元素
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();

让我试试

画文本

你的浏览器不支持Canvas元素
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World",10,50);

让我试试


空心文本

你的浏览器不支持Canvas元素
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.strokeText("Hello World",10,50);

让我试试


画线性渐变

你的浏览器不支持Canvas元素
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

// Create gradient
var grd = ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");

// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10,10,150,80);

让我试试


画圆渐变

你的浏览器不支持Canvas元素
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

// Create gradient
var grd = ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");

// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10,10,150,80);

让我试试


画图片

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img,10,10);

让我试试


HTML Canvas 教程

学习更多相关 <canvas>, 访问全面的HTML Canvas Tutorial.