translate()方法

在canvas中,可以使用translate()方法来平移图形。所谓的平移,是指图形沿着x轴或y轴进行直线运动。平移不会改变图形的形状和大小。

语法:

 cxt.translate(x,y);

说明:

x表示图形在x方向上移动的距离,默认单位是px。当x为正时,图形向x轴正方向移动;当x为负时,图形向x轴反方向移动。

y表示图形在y方向上移动的距离,默认单位是px。当y为正时,图形向y轴正方向移动;当y为负时,图形向y轴反方向移动。

注意:canvas使用的坐标系为W3C坐标系(y轴正方向向下),而不是数学坐标系(y轴正方向向上)。

看下面一段代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>translate()方法</title>
    <script>
        function $(id){
            return document.getElementById(id);
        }
        window.onload=function(){
            var cv=$('canvas');
            var cxt=cv.getContext('2d');

            //绘制矩形
            cxt.fillStyle='skyblue';
            cxt.fillRect(30,30,50,50);
            //移动矩形
            cxt.translate(50,50);
            cxt.fillRect(30,30,50,50); //重绘,这里仍然是fillRect(30,30,50,50)
        };
    </script>
</head>
<body>
    <canvas id="canvas" width='200' height='150' style='border:1px solid grey;'></canvas>
</body>
</html>

在浏览器中的预览效果图如下:


猜你喜欢

转载自blog.csdn.net/qq_1724201421/article/details/80218792