在 Android 开发中,Matrix
类不仅提供了 mapPoints
方法来变换点坐标,还提供了多种其他用法,使其成为处理图像和视图变换的强大工具。以下是 Matrix
类的一些关键用法:
1. 变换方法
- setTranslate(float dx, float dy): 设置矩阵为平移矩阵。
- setScale(float sx, float sy, float px, float py): 设置矩阵为缩放矩阵,
px
和py
为缩放的轴心。 - setRotate(float degrees, float px, float py): 设置矩阵为旋转矩阵,
degrees
为旋转角度,px
和py
为旋转的轴心。 - setSkew(float kx, float ky, float px, float py): 设置矩阵为倾斜矩阵,
kx
和ky
为倾斜角度,px
和py
为倾斜的轴心。
2. 组合和应用变换
- postConcat(Matrix other): 后置连接另一个矩阵,可以用于组合多个变换。
- preConcat(Matrix other): 前置连接另一个矩阵,同样用于组合变换,但顺序与
postConcat
相反。 - setConcat(Matrix a, Matrix b): 将两个矩阵的变换组合起来。
3. 变换应用
- mapRect(RectF rect): 变换矩形区域。
- mapVectors(float[] vecs): 变换向量而不涉及位移。
- mapRadius(float radius): 变换圆的半径,常用于变换圆形或椭圆。
4. 矩阵操作
- reset(): 重置矩阵