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 rad(d) { return 2.0 * Math.PI * (d / 360.0); }
 
            function mydraw() {
                var canvas = document.getElementById('mycanvas');
                var ctx = canvas.getContext('2d');
 
                ctx.beginPath();
                ctx.strokeStyle = 'red';
                ctx.strokeRect(100, 100, 100, 50);
 
                ctx.beginPath();
                ctx.rotate(rad(10));
                ctx.strokeStyle = 'blue';
                ctx.strokeRect(100, 100, 100, 50);
 
                ctx.beginPath();
                ctx.rotate(rad(10)); // 回転は累積する
                ctx.strokeStyle = 'green';
                ctx.strokeRect(100, 100, 100, 50);
            }
 
            mydraw();
 
        </script>
    </body>
</html>
 

  • rotate(a) Canvasの左上端(0,0)を中心にa度だけ時計回りに回転させた描画ができる

タグ:

+ タグ編集
  • タグ:
最終更新:2016年05月21日 05:55