HTML5 > Canvasで三次ベジェ曲線を引く

今日の課題:Canvasで三次ベジェ曲線を引く



<!DOCTYPE html>
<html>
    <head>
        <title>HTML5の練習@ヒッキープログラミングスレ</title>
        <style type="text/css">
            body { background-color: silver; }
            canvas { background-color: white; }
        </style>
    </head>
    <body>
        <h4>三次ベジェ曲線を引く</h4>
        <canvas id="mycanvas" width="640" height="480"></canvas>
        <script language="javascript" type="text/javascript">
 
            function mydraw() {
                var canvas = document.getElementById('mycanvas');
                var ctx = canvas.getContext('2d');
                ctx.beginPath();
                ctx.strokeStyle = 'red';
                ctx.moveTo(100, 100);
                ctx.bezierCurveTo(130, 200, 170, 200, 200, 100);
                ctx.stroke();
 
 
                ctx.beginPath();
                ctx.strokeStyle = 'blue';
                ctx.moveTo(250, 100);
                ctx.bezierCurveTo(280, 10, 320, 200, 350, 100);
                ctx.stroke();
 
                ctx.beginPath();
                ctx.strokeStyle = 'green';
                ctx.moveTo(400, 200);
                ctx.bezierCurveTo(550, 250, 350, 150, 500, 200);
                ctx.stroke();
            }
 
            mydraw();
 
        </script>
    </body>
</html>
 

  • bezierCurveTo(cx1,cy1,cx2,cy2,x,y) カレント座標から(x,y)までの線を(cx1,cy1),(cx2,cy2)の座標を元に三次ベジェ曲線を描く

タグ:

+ タグ編集
  • タグ:
最終更新:2016年05月15日 18:08