HTML Canvas 曲线
HTML Canvas 曲线
在 canvas 中绘制曲线最常用的三种方法是:
arc()方法(在 Canvas Circles 章节中已描述)quadraticCurveTo()方法bezierCurveTo()方法
quadraticCurveTo() 方法
quadraticCurveTo() 方法用于定义二次贝塞尔曲线。
quadraticCurveTo() 方法包含以下参数:
| 参数 | 描述 |
|---|---|
| cpx | 必需。控制点的 x 坐标 |
| cpy | 必需。控制点的 y 坐标 |
| x | 必需。终点的 x 坐标 |
| y | 必需。终点的 y 坐标 |
quadraticCurveTo() 方法需要两个点:一个控制点和一个终点。起始点是当前路径中的最后一个点,可以通过在创建二次贝塞尔曲线之前使用 moveTo() 来更改。
要在 canvas 上绘制曲线,请使用以下方法:
-
beginPath()- 开始一个路径 -
moveTo()- 定义起始位置 -
quadraticCurveTo()- 定义二次贝塞尔曲线 -
stroke()- 绘制它
示例
此二次贝塞尔曲线从 moveTo() 指定的点 (10, 100) 开始。控制点位于 (250, 170)。曲线在 (230, 20) 结束。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(10, 100);
ctx.quadraticCurveTo(250, 170, 230, 20);
ctx.stroke();
</script>
自己动手试一试 »
bezierCurveTo() 方法
bezierCurveTo() 方法用于定义三次贝塞尔曲线。
bezierCurveTo() 方法包含以下参数:
| 参数 | 描述 |
|---|---|
| cp1x | 必需。第一个控制点的 x 坐标 |
| cp1y | 必需。第一个控制点的 y 坐标 |
| cp2x | 必需。第二个控制点的 x 坐标 |
| cp2y | 必需。第二个控制点的 y 坐标 |
| x | 必需。终点的 x 坐标 |
| y | 必需。终点的 y 坐标 |
bezierCurveTo() 方法需要三个点:两个控制点和一个终点。起始点是当前路径中的最后一个点,可以通过在创建三次贝塞尔曲线之前使用 moveTo() 来更改。
要在 canvas 上绘制曲线,请使用以下方法:
-
beginPath()- 开始一个路径 -
moveTo()- 定义起始位置 -
bezierCurveTo()- 定义三次贝塞尔曲线 -
stroke()- 绘制它
示例
此三次贝塞尔曲线从 moveTo() 指定的点 (20, 20) 开始。第一个控制点位于 (110, 150)。第二个控制点位于 (180, 10)。曲线在 (210, 140) 结束。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.bezierCurveTo(110, 150, 180, 10, 210, 140);
ctx.stroke();
</script>
自己动手试一试 »