作用:
根据控制点和半径绘制圆弧路径,
实现机制:
使用当前的描点(前一个moveTo或lineTo等函数的止点)。根据当前描点与给定的控制点1连接的直线,和控制点1与控制点2连接的直线,作为使用指定半径的圆的切线,画出两条切线之间的弧线路径。
语法:ctx.arcTo(x1, y1, x2, y2, radius);
- x1:第一个控制点的 x 轴坐标;
- y1:第一个控制点的 y 轴坐标;
- x2:第二个控制点的 x 轴坐标;
- y2:第二个控制点的 y 轴坐标;
- radius:圆弧的半径。
示例
const canvas = document.querySelector('.canvas-arc-to')const ctx = canvas.getContext('2d')ctx.setLineDash([])ctx.beginPath()ctx.moveTo(150, 20)ctx.arcTo(150, 100, 50, 20, 30)ctx.stroke()ctx.fillStyle = 'blue'// base pointctx.fillRect(150, 20, 10, 10)ctx.fillStyle = 'red'// control point onectx.fillRect(150, 100, 10, 10)// control point twoctx.fillRect(50, 20, 10, 10)//ctx.setLineDash([5, 5])ctx.moveTo(150, 20)ctx.lineTo(150, 100)ctx.lineTo(50, 20)ctx.stroke()ctx.beginPath()ctx.arc(120, 38, 30, 0, 2 * Math.PI)ctx.stroke()

