Android 变形矩阵——Matrix
对于图像的色彩处理,Android系统提供了ColorMatrix颜色矩阵来帮助我们进行图像处理。而对于图像的图形变化,Android系统也是通过来进行处理的,每个像素点都表达了其坐标的X、Y信息。Android的图形变换矩阵是一个3x3的矩阵,如图(1)所示。 当使用变换矩阵去处理每一个像素点的时候,与颜色矩阵的矩阵乘法一样,计算公式如下所示。 X1 = a * X + b * Y + c Y1 = d * X + e * Y + f l = g * X + h * Y + i 通常情况下,会让g=h=0,i=1,这是使 l = g * x + h *y + i恒成立。因此,只需要关注上面几个参数就可以了。 与色彩变换矩阵的初始矩阵一样,图像变换矩阵也有一个初始矩阵。很明显,就是对直角元素a、e、i我1,其他元素我0的矩阵,如图(2)所示。 图像的变化处理通常包含以下四类基本变化 ● Translate——平移变换 ● Rotate——选择变换 ● Scale——缩放变换 ● Skew——错切变换 ▶ 平移变换 平移变换的坐标值变换过程如图(3)所示,即将每个像素点都进行平移变换。 当从p(X0,Y0)平移到p(X,Y),坐标值发送了如下所示的变换 X = X0 + △X Y = Y0 + △Y 如果写成矩阵形式就是如图(4)所示。 通过技计算可发现如下等式。 X = X0 +