对canvas的translate()方法的理解

本文探讨了canvas中translate()方法背后的数学原理,即通过矩阵平移变换实现图形的位置移动。介绍了在x和y方向上平移的矩阵表达式,并解释了如何利用硬件加速提高图形变换效率。
摘要由CSDN通过智能技术生成

数学里的矩阵变化有很多,包括矩阵的平移、旋转和缩放等。在图形变换中,经常会对图形进行矩阵变化。抽象起来讲,一个个图形在屏幕上其实就是一排矩阵,在进行矩阵变化的时候,还能采用硬件加速,大大提高效率。

本节主要将与举证平移相关的问题:


设某点向x方向移动 dx, y方向移动 dy ,[x,y]为变换前坐标, [X,Y]为变换后坐标。

则 X = x+dx;  Y = y+dy;

以矩阵表示:

                                1    0   0

[X, Y, 1] = [x, y, 1][ 0    1   0  ] ;

                               dx  dy   1

 1    0    0

 0    1    0   即平移变换矩阵。

 dx  dy   1

所以:

            canvas.save();//锁画布(为了保存之前的画布状态)
            canvas.translate(10, 10);//把当前画布的原点移到(10,10),后面的操作都以(10,10)作为参照点,默认原点为(0,0)
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值