关键词搜索

源码搜索 ×
×

canvas笔记-二次贝塞尔曲线与三次贝塞尔曲线的用法

发布2020-06-02浏览3282次

详情内容

此博文不研究其算法,只记录下其用法。

 

首先是二次贝塞尔曲线!

函数是这样的

quadraticCurveTo(cpx, cpy, x, y);

其中cpx为贝塞尔控制点x;

其中cpy为贝塞尔控制点y;

其中x为结束点x坐标;

其中y为结束点y坐标。

 

这里隐藏了一个开始点,一般用beginPath()和moveTo方法来定义开始点:

源码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">
  9. 当前浏览器不支持canvas
  10. </canvas>
  11. <script>
  12. window.onload = function(){
  13. let canvas = document.getElementById("canvas");
  14. canvas.width = 800;
  15. canvas.height = 800;
  16. let context = canvas.getContext("https://cdn.jxasp.com:9143/image/2d");
  17. context.beginPath();
  18. context.moveTo(100, 100);
  19. context.quadraticCurveTo(100, 300, 400, 400);
  20. context.stroke();
  21. }
  22. </script>
  23. </body>
  24. </html>

下面是三次贝塞尔曲线

函数为bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)

其中cp1x为第一个贝塞尔控制点x轴坐标;

其中cp1y为第一个贝塞尔控制的y轴坐标;

其中cp2x为第二个贝塞尔控制的x轴坐标;

其中cp2y为第二个贝塞尔控制的y轴坐标;

其中x为结束点坐标;

其中y为结束点坐标;

 

同样这个函数也需要一个moveTo去增加一个开始点!

 

程序运行截图如下:

源码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">
  9. 当前浏览器不支持canvas
  10. </canvas>
  11. <script>
  12. window.onload = function(){
  13. let canvas = document.getElementById("canvas");
  14. canvas.width = 800;
  15. canvas.height = 800;
  16. let context = canvas.getContext("https://cdn.jxasp.com:9143/image/2d");
  17. context.beginPath();
  18. context.moveTo(20, 20);
  19. context.bezierCurveTo(20, 700, 200, 100, 700, 500);
  20. context.stroke();
  21. }
  22. </script>
  23. </body>
  24. </html>

 

 

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载