一. 在Android中, Matrix是一个3x3的矩阵, 有4类基本操作
二. 矩阵如图:
关于matrix操作的原理, 这篇文章讲得不错 => 穿越时空
三. 四种基本操作
1. Translate -> 平移变换
2. Scale ->放缩变换
3.Rotate -> 旋转变换
4. Skew -> 错切变换
四. Matrix为每种操作分别提供了三种类型的方法, setXxx/preXxx/postXxx
分别有:
matrix.setScale();
matrix.setRotate();
matrix.setTranslate();
matrix.setSkew();
matrix.preScale();
matrix.preRotate();
matrix.preTranslate();
matrix.preSkew();
matrix.postScale();
matrix.postRotate();
matrix.postTranslate();
matrix.postSkew();
注: 每个方法都有几个重载
五. set/pre/post矩阵草做的区别:
1. setXxx会在执行前执行reset方法, 而preXxx和postXxx方法是在原来的矩阵上追加变换
2. 矩阵乘法是不可逆的, 即A*B != B*A; 因此preXxx和postXxx的区别的具体表象就是执行顺序不同
六. set/pre/post执行顺序问题
p