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

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

 

首先是二次贝塞尔曲线!

函数是这样的

quadraticCurveTo(cpx, cpy, x, y);

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

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

其中x为结束点x坐标;

其中y为结束点y坐标。

 

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

源码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">
    当前浏览器不支持canvas
</canvas>

<script>

    window.onload = function(){

        let canvas = document.getElementById("canvas");
        canvas.width = 800;
        canvas.height = 800;
        let context = canvas.getContext("2d");

        context.beginPath();
        context.moveTo(100, 100);
        context.quadraticCurveTo(100, 300, 400, 400);
        context.stroke();
    }


</script>

</body>
</html>

下面是三次贝塞尔曲线

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

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

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

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

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

其中x为结束点坐标;

其中y为结束点坐标;

 

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

 

程序运行截图如下:

源码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">
    当前浏览器不支持canvas
</canvas>

<script>

    window.onload = function(){

        let canvas = document.getElementById("canvas");
        canvas.width = 800;
        canvas.height = 800;
        let context = canvas.getContext("2d");

        context.beginPath();
        context.moveTo(20, 20);
        context.bezierCurveTo(20, 700, 200, 100, 700, 500);
        context.stroke();
    }


</script>

</body>
</html>

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT1995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值