什么是 Canvas?

HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。

画布是一个矩形区域,您可以控制其每一像素。

canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

浏览器支持

Internet Explorer 9+, Firefox, Opera, Chrome 以及 Safari 支持 <canvas> 标签。

ps:Internet Explorer 8 以及更早的版本不支持 <canvas> 标签。

理解坐标

在canvas中,画布的 X 和 Y 坐标用于在画布上对绘画进行定位,画布的左上角为坐标原点(0,0)。

javascript画圆 html5 画圆_Math

在canvas中的坐标如下:

javascript画圆 html5 画圆_html_02

 

在Canvas中用来绘制圆形的javascript api函数为arc(x,y,radius,startAngle,endAngle,antiClockwise(Boolean));

    参数说明:

               x,y是圆心的坐标,

              radius是圆的半径,

             startAngle 圆的起始角度,

             endAngle圆的结束角度,

            antiClockwise 圆绘制的顺序,默认为顺时针,为true时是逆时针,这只是是内部绘制的顺序不一样而已,显示的效果是一样的.

           如绘制一个完整的圆形时:canvas.arc(50,50,25,0,2*Math.PI);

我们可以根据某个值来动态绘制圆弧的长度,只要把圆的结束角度设置为动态的即可。如根据某个百分比数据来绘制一个统计某个数据的圆弧,假设是满意度为50%,那么圆的结束角度为0.5*2*Math.PI.这样既可画出一个半圆了。

 

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>canvas绘制圆形</title>
<style type="text/css">
*{margin:0; padding:0;}
#canvas-box{width:980px; margin:50px auto;}
#percent{color:#C00;}
#canvas{border:1px solid #900; margin:0 auto 0 auto;}
</style>
</head>

<body>
<div id='canvas-box'>
    <p></p><b id="percent">50</b>%</p>
    <canvas id="canvas" width="400" height="400" ></canvas>
</div>
<script type="text/javascript">
 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();
</script>
</body>
</html>