android中matrix使用说明

Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在
Android的API里都提供了set, post和pre三种操作方式,除了translate,其他三种操作都可以指定中心点。
set是直接设置Matrix的值,每次set一次,整个Matrix的数组都会变掉。

post是后乘,当前的矩阵乘以参数给出的矩阵。可以连续多次使用post,来完成所需的整个变换。


  1. // matrix.setRotate(60);// 这是旋转多少度  
  2.         // matrix.setRotate(degrees, px, py);//这个方法是以哪个点为中心进行旋转多少度  
  3.         // matrix.setSkew(kx, ky);//设置倾斜,以x轴倾斜,还是y轴  
  4.         // 倾斜x和y轴,以(100,100)为中心。  
  5.         // matrix.postSkew(0 .2f, 0 .2f, 100 , 100 );  
  6.         // matrix.setScale(0.5f, 1);//缩放宽度变为原来的一半,高度不变  
matrix.setTranslate(bitmap1.getWidth(),  0 ); // 这个是移动  



matrix.preTranslate(0, -bitmap.getHeight());

matrix.postTranslate(0,bitmap.getHeight());

这两行代码就是起到了这样的作用。preTranslate方法的作用是在旋转之间先把图片向上移动图片高度的一半的距离,这样图片就关于x轴对称了

,然后再进行旋转的变换,postTranslate方法是在变换之后再将图片向下移动图片高度的一半的距离也即是回到了原来的位置,这样图片显示

出来的结果就是对称的了。原理也很简单,旋转中心还是(0,0),只不过我们移动图片,这样进行旋转变换的时候就会得到对称的结果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值