HTML5 Canvas绘制矩形和圆形(圆弧)

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();

演示地址

原文链接:HTML5 Canvas绘制矩形和圆形(圆弧) 版权所有,转载时请注明出处,违者必究。
注明出处格式:前端开发博客 (http://caibaojian.com/html5-canvas-circular.html)

“HTML5 Canvas绘制矩形和圆形(圆弧)”有7个评论

  1. 云库网

    云库网 - 前端开发主题。想与本站交换个友链 望通过!http://yunkus.com/

    登录回复
  2. 云库网

    最近我也学这个,感觉好多东西要学,【CSS3 Flex 弹性布局用法详解 - 云库网 http://yunkus.com/article/css3/256.html】

    登录回复
  3. 美女IT

    www.phpsong.com 求交换链接 联系QQ:454213722

    登录回复
  4. csstop.com

    最新JQ在线文档!
    http://www.csstop.com/doc/jq/

    登录回复
  5. LittleGreyGrey

    人过留名,雁过留声,我是小灰灰,欢迎互访。
    https://www.fifiblog.com

    登录回复
  6. 轩枫

    请问下能加上轩枫阁的友链?http://www.xuanfengge.com

    登录回复
  7. 黄勇博客

    一直在为自己的懒惰找借口,一直抱着浮躁和狂妄的心态去做事。事情做好了就炫耀是能力,做差了就借口是运气不好。

    登录回复