在android中,可以使用Matrix进行相关的图像处理(如:平移、旋转、缩放、错切、对称等)
就拿平移来说吧:
1、一般我们要想平移一个图像,那么我们先会创建一个Matrix:
Matrix matrix = new Matrix();
2、然后调用matrix的平移方法进行平移:
matrix.postTranslate(5,3);这句代码代表将图像在原有的基础上将x坐标向右移动5,y坐标向下移动3
3、最后将要平移的图像来使用这个matrix:
要平移的图像.setImageMatrix(matrix);
当然如果要进行其他的操作只不过是调用的方法不同,那么这里面是怎么来运算的呢?
其实这些操作都是矩阵的运算:
前面的操作其实就是这个矩阵乘法的运算结果:(建议大家先去了解下矩阵的乘法运算很简单的)
乘法左边矩阵中的5和3就是平移时的2个参数(x、y),右边矩阵中的X0、Y0是要进行平移的的图像的初始坐标,等于号右边结果的X表示平移后的X坐标、Y表示平移后的Y坐标
矩阵运算:
X = 1*X0+0*Y0+5*1
Y = 0*X0+1*Y0+3*1
得出来的结果为:
X=X0+5
Y=Y0+3
由此可见平移后的X坐标是初始X0坐标加上平移的距离,Y坐标也是同理