bezierCurveTo() 是 Canvas 2D API 繪制三次貝賽爾曲線路徑的方法。 該方法需要三個(gè)點(diǎn)。 第一、第二個(gè)點(diǎn)是控制點(diǎn),第三個(gè)點(diǎn)是結(jié)束點(diǎn)。起始點(diǎn)是當(dāng)前路徑的最后一個(gè)點(diǎn),繪制貝賽爾曲線前,可以通過調(diào)用 moveTo() 進(jìn)行修改。
繪制一條三次貝塞爾曲線:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML canvas bezierCurveTo()方法使用-菜鳥教程(cainiaoplus.com)</title>
</head>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。
</canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.moveTo(20,20);
ctx.bezierCurveTo(20,100,200,100,200,20);
ctx.stroke();
</script>
</body>
</html>測試看看 ?/?IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 bezierCurveTo() 方法。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
bezierCurveTo() 方法通過使用代表三次貝塞爾曲線的指定控制點(diǎn),將點(diǎn)添加到當(dāng)前路徑。
三次貝塞爾曲線需要三個(gè)點(diǎn)。前兩個(gè)點(diǎn)是用于三次貝塞爾計(jì)算中的控制點(diǎn),第三個(gè)點(diǎn)是曲線的結(jié)束點(diǎn)。曲線的開始點(diǎn)是當(dāng)前路徑中最后一個(gè)點(diǎn)。如果路徑不存在,那么請使用 beginPath() 和 moveTo() 方法來定義開始點(diǎn)。

提示:請查看 quadraticCurveTo() 方法。它有一個(gè)控制點(diǎn),而不是兩個(gè)。
| JavaScript 語法: | context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y); |
|---|
| 參數(shù) | 描述 |
|---|---|
| cp1x | 第一個(gè)貝塞爾控制點(diǎn)的 x 坐標(biāo)。 |
| cp1y | 第一個(gè)貝塞爾控制點(diǎn)的 y 坐標(biāo)。 |
| cp2x | 第二個(gè)貝塞爾控制點(diǎn)的 x 坐標(biāo)。 |
| cp2y | 第二個(gè)貝塞爾控制點(diǎn)的 y 坐標(biāo)。 |
| x | 結(jié)束點(diǎn)的 x 坐標(biāo)。 |
| y | 結(jié)束點(diǎn)的 y 坐標(biāo)。 |