#Learn the Matrix Class in Android

参考:GcsSloop 的博客

# 1.Matrix 是 Android 中 Graphics 包下的一个类,主要用来对图像进行平移、缩放、旋转、透视、错切等操作。

Matrix 对象实际是一个 3x3 的矩阵。每个值都有不同的用处:

mScalaX mSkewX mTransfX

mSkewY mScalaY mTransfY

mPersp0 mPersp1 mPersp 2

scalax, scalay 用于缩放
skewx,skewy 用于错切
transfx,transfy 用于平移
persp0,persp1,persp2 用于透视

# 2. 关于 Matrix 的要点

  • 所有的操作 (旋转、平移、缩放、错切) 默认都是以坐标原点为基准点的。
  • 之前操作的坐标系状态会保留,并且影响到后续状态。

# 3.Martirx 的方法

pre
pre 为前缀的方法的意思是右乘,意思是当前矩阵乘以目标矩阵

preScala()

preTranslate()

preRotate()

post
post 为前缀的方法的意思是左乘,意思是目标矩阵乘以当前矩阵

postScala()

postTranslate()

postRotate()