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>
自己動手試一試 »