Android Matrix使用总结

主要是看aige博客,Matrix部分老忘,再看了一遍,现在把重点知识点记录下,怕忘了。

1.matrix.setXXX方法,是会重置matrix的。怎理解呢?

//假如做了以下两个变换,会发现,只有效的是Rotate
//原因是,在我们new了一个Matrix对象后,这个Matrix对象中已经就为我们
//封装了一组原始数据.而我们的setXXX方法执行的操作是把原本Matrix对象中的数据重置,重新设置新的数据
matrix.setTranslate(500, 500);  
matrix.setRotate(5);  

2.preXXX和postXXX一个是前乘一个是后乘。它的区别。
其实就是先执行后执行的问题,pre先执行,pos后执行。
举个栗子:

matrix.preScale(0.5f, 1);   
matrix.setScale(1, 0.6f);   
matrix.postScale(0.7f, 1);   
matrix.preTranslate(15, 0); 

那么Matrix的计算过程即为:translate (15, 0) -> scale (1, 0.6f) -> scale (0.7f, 1),我们说过set会重置数据,所以最开始的matrix.preScale(0.5f, 1); 就被setScale(1, 0.6f)干掉了.然后按照pre set pos 三个顺序执行。

就这样,如果你看完有收获给个赞。欢迎指教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值