当前位置: 网站首页>小程序开发>网站开发

呼和浩特公众号代运营公司

发表日期: 2022-07-30 17:22:09 浏览次数:48

呼和浩特公众号代运营公司

网站建设.png

弧案例 3

function draw(){    var canvas = document.getElementById('tutorial');    if (!canvas.getContext) return;    var ctx = canvas.getContext("2d");    ctx.beginPath();    ctx.moveTo(50, 50);      //参数1、2:控制点1坐标   参数3、4:控制点2坐标  参数4:圆弧半径    ctx.arcTo(200, 50, 200, 200, 100);    ctx.lineTo(200, 200)    ctx.stroke();        ctx.beginPath();    ctx.rect(50, 50, 10, 10);    ctx.rect(200, 50, 10, 10)    ctx.rect(200, 200, 10, 10)    ctx.fill()}draw();

arcTo 方法的说明:

这个方法可以这样理解。绘制的弧形是由两条切线所决定。

第 1 条切线:起始点和控制点1决定的直线。

第 2 条切线:控制点1 和控制点2决定的直线。

其实绘制的圆弧就是与这两条直线相切的圆弧。

4.5 绘制贝塞尔曲线

4.5.1 什么是贝塞尔曲线

贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。

一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。

贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具如 PhotoShop 等。在 Flash4 中还没有完整的曲线工具,而在 Flash5 里面已经提供出贝塞尔曲线工具。

贝塞尔曲线于 1962,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau 于 1959 年运用 de Casteljau 演算法开发,以稳定数值的方法求出贝兹曲线。

一次贝塞尔曲线其实是一条直线

二次贝塞尔曲线


制二次贝塞尔曲线:


quadraticCurveTo(cp1x, cp1y, x, y)

说明:


参数 1 和 2:控制点坐标

参数 3 和 4:结束点坐标

function draw(){

    var canvas = document.getElementById('tutorial');

    if (!canvas.getContext) return;

    var ctx = canvas.getContext("2d");

    ctx.beginPath();

    ctx.moveTo(10, 200); //起始点

    var cp1x = 40, cp1y = 100;  //控制点

    var x = 200, y = 200; // 结束点

    //绘制二次贝塞尔曲线

    ctx.quadraticCurveTo(cp1x, cp1y, x, y);

    ctx.stroke();

 

    ctx.beginPath();

    ctx.rect(10, 200, 10, 10);

    ctx.rect(cp1x, cp1y, 10, 10);

    ctx.rect(x, y, 10, 10);

    ctx.fill();

 

}

draw();



绘制三次贝塞尔曲线:


bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)

说明:


参数 1 和 2:控制点 1 的坐标

参数 3 和 4:控制点 2 的坐标

参数 5 和 6:结束点的坐标

function draw(){

    var canvas = document.getElementById('tutorial');

    if (!canvas.getContext) return;

    var ctx = canvas.getContext("2d");

    ctx.beginPath();

    ctx.moveTo(40, 200); //起始点

    var cp1x = 20, cp1y = 100;  //控制点1

    var cp2x = 100, cp2y = 120;  //控制点2

    var x = 200, y = 200; // 结束点

    //绘制二次贝塞尔曲线

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

    ctx.stroke();

 

    ctx.beginPath();

    ctx.rect(40, 200, 10, 10);

    ctx.rect(cp1x, cp1y, 10, 10);

    ctx.rect(cp2x, cp2y, 10, 10);

    ctx.rect(x, y, 10, 10);

    ctx.fill();

 

}

draw();

呼和浩特公众号代运营公司

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878