📅  最后修改于: 2023-12-03 15:01:15.661000             🧑  作者: Mango
arcTo() 方法是 canvas 元素中的一个用于路径绘制的方法,用于绘制一条弧线段,路径的起点和终点被指定为两个坐标(x1,y1)和(x2,y2),中间则由控制点 (x3, y3) 定义。这种方法可以用于绘制一些有圆角的形状。
context.arcTo(x1, y1, x2, y2, radius);
<canvas id="canvas" width="200" height="100"></canvas>
<script>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(20, 10); // 设置起点
ctx.lineTo(180, 10); // 顶部线段
ctx.arcTo(190, 10, 190, 20, 10); // 右上圆角
ctx.lineTo(190, 80); // 右侧线段
ctx.arcTo(190, 90, 180, 90, 10); // 右下圆角
ctx.lineTo(20, 90); // 底部线段
ctx.arcTo(10, 90, 10, 80, 10); // 左下圆角
ctx.lineTo(10, 20); // 左侧线段
ctx.arcTo(10, 10, 20, 10, 10); // 左上圆角
ctx.closePath(); // 封闭路径
ctx.stroke(); // 绘制路径
</script>
效果如下:
<canvas id="canvas2" width="200" height="100"></canvas>
<script>
var canvas = document.getElementById('canvas2');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(100, 50); // 设置起点为圆心
ctx.arcTo(150, 50, 150, 100, 50); // 绘制一条弧线段
ctx.lineTo(100, 100); // 连接终点和扇形心点
ctx.closePath(); // 封闭路径
ctx.fillStyle = 'green'; // 设置填充颜色
ctx.fill(); // 填充扇形
</script>
效果如下: