首页 > 代码库 > Android的Matrix类简介

Android的Matrix类简介

Matrix:
图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型
1、Translate————平移变换
2、Scale————缩放变换
3、Rotate————旋转变换
4、Skew————错切变换
 
操作方式:
set(用于设置Matrix中的值)、
pre(先乘,相当于矩阵中的右乘),
post(后乘,根据矩阵的原理,相当于左乘)、
除了translate,旋转、缩放和倾斜都可以指定中心点。如果不指定,默认情况下,是围绕(0,0)点来进行。
 
这里要点一下前乘和后乘的区别,矩阵的乘法不满足交换率,所以两种乘法的结果不一样。
在图像处理中,越靠近右边的矩阵越先执行,所以pre(也就是先的意思)所设置的矩阵T(Scale,Rotation也是一样的)就会先于其一开始设置的
Scale执行,而post(后的意思)的因为是左乘,所以它会放在最左边,那么就会最后执行。
 
举例:要将一个图片旋转30度,然后平移到(100,100)的地方
  1. Matrix m =newMatrix();
  2. m.postRotate(30);//先转再平移
  3. m.postTranslate(100,100);
  4. Matrix m =newMatrix();
  5. m.setTranslate(100,100);//先移动到位置再转
  6. m.preRotate(30);
 
 



Android的Matrix类简介