首页 > 专栏 > 前端 > 文章详情
canvas 实例方法:arc()绘制圆弧 发布于:2023-03-14 20:32:55   原创发表   查看:49  讨论:0
canvas 绘制圆弧路径。其圆心在(x, y)位置,半径为r,顺时针画,指定方向从 startAngle 开始【x 轴方向开始计算,到 endAngle 结束。弧度制。Ouy易塔云建站-模板下载,web开发资源,技术博客
语法:
context.arc(x, y, radius, startAngle, endAngle, anticlockwise?) 
Ouy易塔云建站-模板下载,web开发资源,技术博客
他的参数我解释一下,即Ouy易塔云建站-模板下载,web开发资源,技术博客
arc(圆心x,圆心y,半径,开始的角度,结束的角度,是否逆时针)Ouy易塔云建站-模板下载,web开发资源,技术博客
如果我们用arc画一个完整的圆,该怎么搞?大家注意到参数中有个开始角度与结束角度,如果我们开始角度是0,结束角度是360,不就是个正圆了?Ouy易塔云建站-模板下载,web开发资源,技术博客
正解!但要注意的是,这里的角度是用“弧度”来表示的(Flash也是如此),一个完整的圆即360度,就是2PI弧度。
<script type="text/javascript">
    const canvas = document.getElementById("canvas");
    const ctx = canvas.getContext("2d");
    ctx.save();
    ctx.beginPath();
    ctx.arc(100, 100, 50, 0, Math.PI / 2);// anticlockwise 是否为逆时针 。默认false,顺时针
    ctx.strokeStyle = "blue";
    ctx.lineWidth = 5;
    ctx.lineCap = "round";
    ctx.stroke();
    ctx.restore();
    ctx.beginPath();
    ctx.arc(250, 100, 50, 0, Math.PI / 2, true);// anticlockwise 是否为逆时针 。默认false,顺时针
    ctx.fillStyle = "red";
    ctx.fill();
</script>
Ouy易塔云建站-模板下载,web开发资源,技术博客
Ouy易塔云建站-模板下载,web开发资源,技术博客
可以看到,当选择true逆时针绘制时,其角度等于 ( 360 - 顺时针 )

评论

  • 匿名