Canvas 旋转(rotate())

杨成礼
2023-12-01


demo.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        canvas {
            border:1px solid red;
        }
    </style>
</head>
<body>
    <canvas id="cvs" width="500" height="500"></canvas>
    <script>
        var cvs = document.getElementById('cvs');
        var ctx = cvs.getContext('2d');

        /*
        * 旋转坐标轴:
        * ctx.rotate( 旋转的弧度 )  (弧度:2*Math.PI表示一周)
        * 注意:已绘制的图形不会受到影响;旋转会累加(在之前旋转、平移、缩放的基础上再旋转)。
        * */


        ctx.translate( 100, 100 );
        ctx.fillRect( 0, 0, 50, 50 );

        // 旋转坐标轴,再按照同样的坐标绘制填充矩形
        ctx.rotate( Math.PI / 6 );  //旋转不会影响已经画好的图形。
        ctx.fillStyle = 'pink';
        ctx.fillRect( 0, 0, 50, 50 );

        // 旋转坐标轴,再按照同样的坐标绘制填充矩形
        ctx.rotate( Math.PI / 6 );  //旋转是在之前旋转、平移、缩放的基础上再旋转(旋转会叠加)
        ctx.fillStyle = 'yellow';
        ctx.fillRect( 0, 0, 50, 50 );
    </script>
</body>
</html>


 类似资料: