怎樣繪制二次貝塞爾曲線


需要使用: quadraticCurveTo(cp1x, cp1y, x, y);

cp1x: 控制點x坐標

cp1y: 控制點y坐標

x: 結束點x坐標

y: 結束點y坐標

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <canvas id="canv" width="300" height="300"></canvas>
    <script>
        function draw() {
            var canvas = document.getElementById('canv');
            if (!canvas.getContext) return;
            var ctx = canvas.getContext("2d");
            ctx.beginPath();
            ctx.moveTo(10, 200); //起始點
            //繪制二次貝塞爾曲線
            ctx.quadraticCurveTo(40, 100, 200, 200);
            ctx.stroke();

            // 為控制點作標記
            ctx.beginPath();
            ctx.rect(10, 200, 10, 10);
            ctx.rect(40, 100, 10, 10);
            ctx.rect(200, 200, 10, 10);
            ctx.fill();

        }
        draw();
    </script>
</body>

</html>

 

注意: 貝塞爾曲線的兩個定位點在兩條直線上的速度是一樣的.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM