HTML 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>