一. 概述
HTML5 <canvas>
标签用于绘制图像(通过脚本,通常是 JavaScript)。
不过,<canvas>
元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。
二. Sass 使用方法:
画布的编程模式 先清除,再重绘.
画布的特点是绘制的元素无法更改.
矩形
1
2ctx.fillRect(x,y,width,height) //填充矩形
ctx.strokeRect(x,y,width,height) //框线矩形圆
1
2
3
4//sAngle: 起始角,以弧度计。(弧的圆形的三点钟位置是 0 度
//eAngle: 结束角,以弧度计。
//counterclockwise: 可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。
context.arc(x,y,r,sAngle,eAngle,counterclockwise);弧/曲线
1
2ctx.arcTo(x1,y1,x2,y2,r) //创建两切线之间的弧/曲线
ctx.stroke(); // 进行绘制其余总结
1
2
3
4
5
6
7
8
9
10
11
12
13
14ctx.save() //保存当前环境的状态
ctx.beginPath() //开始一个路径
ctx.moveTo() //移动点来到开始的某点
ctx.lineTo() //让路径中拥有一条到某点的线,但是并不会直接绘制出来
ctx.fill() //填充当前路径
ctx.stroke() //描边
ctx.closePath() //结束一个路径
ctx.restore() //返回之前保存过的路径状态和属性
ctx.clearRect(x,y,width,height) //在给定的矩形内清除指定的像素
四. Canvas 实例:
- 画矩形
1
<canvas id="canvas"></canvas>
1
2
3
4var canvas = document.getElementById('canvas'); //获取HTML <canvas> 元素的引用
var ctx = canvas.getContext('2d'); //返回一个对象,该对象提供了用于在画布上绘图的方法和属性。
ctx.fillStyle = 'green';// 填充
ctx.fillRect(10, 10, 150, 100);//它的左上角放在(10, 10),把它的大小设置成宽150高100。 - 倒计时
1
<canvas id="canvas" width="200" height="200" style="border: 1px solid #000000"></canvas>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31var c = document.getElementById('canvas'); //获取HTML <canvas> 元素的引用
var ctx = canvas.getContext('2d'); //返回一个对象,该对象提供了用于在画布上绘图的方法和属性。
//画圆
var size=c.width;
ctx.arc(size/2, size/2, size/2, 0, 2*Math.PI, false);
ctx.fillStyle="#000000";
ctx.fill();
ctx.closePath();
var i=1, total=5;
var draw = function() {
ctx.beginPath();
ctx.moveTo(100,100);
ctx.arc(size/2, size/2, size/2, -0.5*Math.PI, -0.5*Math.PI + 2*Math.PI/total * (i++), false);
ctx.fillStyle="#ccc";
ctx.fill();
ctx.closePath();
ctx.restore();
ctx.save();
ctx.textAlign = "center";
ctx.textBassline = "middle";
ctx.font="50px Arial";
ctx.fillStyle="green";
ctx.fillText(1+ total-i, size/2, size/2);
if(i>total){
clearInterval(fun)
}
}
var fun = setInterval(draw, 1000)