bezierCurveTo() 是 Canvas 2D API 绘制三次贝赛尔曲线路径的方法。 该方法需要三个点。 第一、第二个点是控制点,第三个点是结束点。起始点是当前路径的最后一个点,绘制贝赛尔曲线前,可以通过调用 moveTo() 进行修改。
绘制一条三次贝塞尔曲线:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML canvas bezierCurveTo()方法使用-基础教程(nhooo.com)</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </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() 方法通过使用代表三次贝塞尔曲线的指定控制点,将点添加到当前路径。
三次贝塞尔曲线需要三个点。前两个点是用于三次贝塞尔计算中的控制点,第三个点是曲线的结束点。曲线的开始点是当前路径中最后一个点。如果路径不存在,那么请使用 beginPath() 和 moveTo() 方法来定义开始点。
提示:请查看 quadraticCurveTo() 方法。它有一个控制点,而不是两个。
JavaScript 语法: | context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y); |
---|
参数 | 描述 |
---|---|
cp1x | 第一个贝塞尔控制点的 x 坐标。 |
cp1y | 第一个贝塞尔控制点的 y 坐标。 |
cp2x | 第二个贝塞尔控制点的 x 坐标。 |
cp2y | 第二个贝塞尔控制点的 y 坐标。 |
x | 结束点的 x 坐标。 |
y | 结束点的 y 坐标。 |