Canvas bezierCurveTo() 方法

定義和用法

bezierCurveTo() 方法通過使用表示三次貝塞爾曲線的指定控制點,向當前路徑添加一個點。

提示:三次貝塞爾曲線需要三個點。前兩個點是用于三次貝塞爾計算中的控制點,第三個點是曲線的結束點。曲線的開始點是當前路徑中最后一個點。如果路徑不存在,那么請使用 beginPath()moveTo() 方法來定義開始點。

三次貝塞爾曲線
  • 開始點:moveTo(20,20)
  • 控制點 1:bezierCurveTo(20,100,200,100,200,20)
  • 控制點 2:bezierCurveTo(20,100,200,100,200,20)
  • 結束點:bezierCurveTo(20,100,200,100,200,20)

提示:請查看 quadraticCurveTo() 方法。它有一個控制點,而不是兩個。

實例

繪制一條三次貝塞爾曲線:

Your browser does not support the HTML5 canvas tag.

JavaScript:

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();

親自試一試

語法

context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y);

參數值

參數 描述
cp1x 第一個貝塞爾控制點的 x 坐標。
cp1y 第一個貝塞爾控制點的 y 坐標。
cp2x 第二個貝塞爾控制點的 x 坐標。
cp2y 第二個貝塞爾控制點的 y 坐標。
x 結束點的 x 坐標。
y 結束點的 y 坐標。

瀏覽器支持

表中的數字注明了首個完全支持該屬性的瀏覽器版本。

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
4.0 9.0 3.6 4.0 10.1

注釋:Internet Explorer 8 以及更早的版本不支持 <canvas> 元素。