canvas绘制矩形、圆形和圆弧。在canvas里面有特定的方法来绘制矩形。rect(x,y,width,height);或者fillRect(x,y,width,height)从(x,y)为起始点,长尾width,高为height的填充矩形。strokeRect(x,y,width,height)绘制(无填充)。
绘制矩形(正方形):
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.lineWidth = 10;//边框为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.lineWidth=10; //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();