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)。 |