绘制矩形(正方形):
var bg = document.getElementById('caibaojian');
var ctx = bg.getContext('2d');
ctx.beginPath();
//实心
//ctx.fillStyle="#0000ff"; //填充的颜色
//ctx.fillRect(20,20,100,100); //矩形起点为(20,20),长为100,宽为100
//空心
ctx.line;//边框为10px
ctx.strokeStyle = '#00ff00';//绘制的颜色为#00ff00
//ctx.strokeRect(20,20,100,100);
//如果不使用矩形,也可以通过lineTo()来绘制
ctx.moveTo(20,20);
ctx.lineTo(100,20);
ctx.lineTo(100,100);
ctx.lineTo(20,100);
ctx.closePath();
//ctx.stroke(); //绘制空心
ctx.fill(); //填充绘制圆形/圆环
同样canvas里面也有一个特有的方法,
arc(x,y,r,sAngle,eAngle,counterclockwise);中心点为(x,y),半径为r,起始点为sAngle,终点为eAngle,逆时针方向。
绘制半圆弧
var bg = document.getElementById('caibaojian');
var ctx = bg.getContext('2d');
ctx.beginPath();
//在(100,100)处逆时针画一个半径为50,角度从0到180°的弧线
ctx.arc(100,100,50,0*Math.PI,1*Math.PI,true);
ctx.line;
//ctx.strokeStyle='#00ff00';
//var grd = ctx.createLinearGradient(0,0,200,0);//从左到右
//grd.addColorStop(0,"#ff0000"); //起始颜色
//grd.addColorStop(1,"#00ff00"); //终点颜色
//ctx.strokeStyle=grd;
ctx.stroke();绘制一个实心圆
//在(100,100)出逆时针画一个半径为50的实心圆
ctx.arc(100,100,50,0*Math.PI,2*Math.PI,true);
ctx.fill();绘制一个3/4圆弧
//在(100,100)出顺时针画一个半径为50的3/4圆弧
ctx.arc(100,100,50,0*Math.PI,1.5*Math.PI,false);
ctx.stroke();
使用canvas绘制弧线
现在,我们就来绘制一条半径为50px的圆的1/4弧线。
我们设置了绘制的弧线的所在圆的圆心坐标为(100,100),半径为50px。由于一个半径为r的圆的周长为2πr,也就是说,一个完整的圆,其所对应的弧度为2π(换算成常规角度就是360°),所以我们想要画一个圆的1/4弧线,只要弧度为π/2(即90°)就可以了。在上面的代码中,我们使用了JavaScript中表示π的常量Math.PI。
此外,在上面的代码中,我们还设置了绘制弧线的方向为顺时针方向(false)。由于起始弧度为0,结束弧度为π/2,因此弧线将从x轴的正方向开始沿着顺时针方向绘制,从而得到上面的图形。如果我们将上述代码中的弧线绘制方向改为逆时针,会有什么样的效果呢?