canvas画布:圆弧绘制arc();

圆弧绘制
  • 弧度概念
  • arc()
    • x 圆心横坐标
    • y 圆心纵坐标
    • r 半径
    • startAngle 开始角度
    • endAngle 结束角度
    • anticlockwise 是否逆时针方向绘制(默认false表示顺时针;true表示逆时针)
      圆弧语法 : arc(x, y, radius半径, 弧度start, 弧度end, 方向:默认顺时针false);
      画圆弧的步骤
    1. 确定圆心
    2. 确定半径
    3. 确定绘制的起始位置和结束位置
    4. 确定方向
      //例1.需求 : 在中心位置画一个半径为150px的圆弧右下角
  var ctx = document.querySelector("canvas").getContext("2d");
    var w = ctx.canvas.width;
    var h = ctx.canvas.height;
    //右上角四分之一的圆弧
    ctx.arc(w / 2, h / 2, 150, 0, Math.PI * 3/ 2, true);
    ctx.stroke();`

在这里插入图片描述
例2 绘制右上角四分之一圆弧的扇形

 var ctx = document.querySelector("canvas").getContext("2d");
    //把起点放到圆心位置
    ctx.moveTo(300, 200);
    ctx.arc(300, 200, 150, 0, Math.PI * 3 / 2, true);
    ctx.closePath();
     ctx.fill();
    //ctx.stroke();

效果图
在这里插入图片描述
例3 绘制六等分颜色随机的圆

var ctx = document.querySelector("canvas").getContext("2d");
    var w = ctx.canvas.width;
    var h = ctx.canvas.height;
    var num = 6;
    //每一份是多少弧度呢
    var angle = Math.PI * 2 / num;
    //获取随机颜色
    var randomColor = function () {
        var r = Math.floor(Math.random() * 256);
        var g = Math.floor(Math.random() * 256);
        var b = Math.floor(Math.random() * 256);
        return 'rgb('+r+','+g+','+b+')';
    }
    //上一次的结束弧度 = 当前的起始弧度
    //var startAngle = 0;//
    for(var i= 0 ; i <num ; i++){
        ctx.beginPath();
        ctx.moveTo(w / 2, h / 2);
        ctx.arc(w / 2, h / 2, 150, i*angle, (i+1)* angle);
        ctx.fillStyle = randomColor();
        ctx.fill();
    }

效果图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值