什么是 Canvas?
HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。javascript
画布是一个矩形区域,您能够控制其每一像素。css
canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。html
浏览器支持
Internet Explorer 9+, Firefox, Opera, Chrome 以及 Safari 支持 标签。java
ps:Internet Explorer 8 以及更早的版本不支持 标签。canvas
理解坐标
在canvas中,画布的 X 和 Y 坐标用于在画布上对绘画进行定位,画布的左上角为坐标原点(0,0)。api
在canvas中的坐标以下:浏览器
在Canvas中用来绘制圆形的javascript api函数为arc(x,y,radius,startAngle,endAngle,antiClockwise(Boolean));函数
参数说明:ui
x,y是圆心的坐标,htm
radius是圆的半径,
startAngle 圆的起始角度,
endAngle圆的结束角度,
antiClockwise 圆绘制的顺序,默认为顺时针,为true时是逆时针,这只是是内部绘制的顺序不同而已,显示的效果是同样的.
如绘制一个完整的圆形时:canvas.arc(50,50,25,0,2*Math.PI);
咱们能够根据某个值来动态绘制圆弧的长度,只要把圆的结束角度设置为动态的便可。如根据某个百分比数据来绘制一个统计某个数据的圆弧,假设是满意度为50%,那么圆的结束角度为0.5*2*Math.PI.这样既可画出一个半圆了。
canvas绘制圆形*{margin:0; padding:0;}
#canvas-box{width:980px; margin:50px auto;}
#percent{color:#C00;}
#canvas{border:1px solid #900; margin:0 auto 0 auto;}
var p=document.getElementById('percent').innerHTML;
p=p/100;
var canvas=document.getElementById('canvas').getContext('2d');
canvas.beginPath();
canvas.arc(200,200,100,0,2*Math.PI);
canvas.strokeStyle='#f00';
canvas.lineWidth=2;
canvas.stroke();
canvas.closePath();
canvas.beginPath();
canvas.arc(50,50,50,0,p*2*Math.PI);
canvas.strokeStyle='#00f';
canvas.lineWidth=2;
canvas.stroke();
canvas.closePath();