canvas之绘制圆形

绘制圆形

<script>
    //获取画布。  相当于拿到了绘画的一张纸
    var cas = document.getElementById('cvs');
    //有了纸后,还需要有一只笔才能进行绘画。 这是一个绘画2d图形的笔
    var pencil = cas.getContext('2d');

    //开始绘画
    pencil.beginPath();
    //开始绘画圆形  参数分别是: 绘画起始的x坐标、绘画起始的y坐标、 半径的值 、绘制圆形的弧度、 是否是顺时针开始画
    //注意:弧度的值是通过Math.PI进行计算的

    //半圆
    // pencil.arc(200,200,100, 1 * Math.PI, true);

    //顺时针60°的圆弧
    // pencil.arc(200,200,100, (1/6) * Math.PI, true);

    //逆时针300°的圆弧
    pencil.arc(200,200,100, (1/6) * Math.PI, false);
    //是否闭合图形,自己设定。
    pencil.closePath();
    pencil.strokeStyle='#000';
    pencil.stroke();
</script>

综合案例

想绘制一个如下图的一个图形
在这里插入图片描述
下面进入是错的过程吧。。。。。。

<script>
    //获取画布。  相当于拿到了绘画的一张纸
    var cas = document.getElementById('cvs');
    //有了纸后,还需要有一只笔才能进行绘画。 这是一个绘画2d图形的笔
    var pencil = cas.getContext('2d');

    //开始绘画

    //绘制第一个圆
    pencil.beginPath();
    pencil.arc(200,200,60, 2 *Math.PI, false);

    //绘制第二个圆
    pencil.arc(240,200,100,2 * Math.PI, false);
    pencil.strokeStyle='green';
    pencil.stroke();
</script>

测试了一下代码发现图形中多了一条线,如图:
在这里插入图片描述

经过分析:是第一个圆画完之后,画笔从终点滑倒第二个圆的起点。这个过程画笔是放在画布上的,所以留下了痕迹。就像:一笔画两个这样的圆一样。 所以要在画第二圆的时候 要重新设置画笔的起始路径。修改后代码

<script>
    //获取画布。  相当于拿到了绘画的一张纸
    var cas = document.getElementById('cvs');
    //有了纸后,还需要有一只笔才能进行绘画。 这是一个绘画2d图形的笔
    var pencil = cas.getContext('2d');

    //开始绘画

    //绘制第一个圆
    pencil.beginPath();
    pencil.arc(200,200,60, 2 *Math.PI, false);
    pencil.strokeStyle='green';
    pencil.stroke();

    //绘制第二个圆
    //重新设定绘制路线
    pencil.beginPath();
    pencil.arc(240,200,100,2 * Math.PI, false);
    pencil.strokeStyle='green';
    pencil.stroke();

    //绘制第三个圆
    //重新设定绘制路线
    pencil.beginPath();
    pencil.arc(280,200,140,2 * Math.PI, false);
    pencil.strokeStyle='green';
    pencil.stroke();
</script>

最终得到期望的图形
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值