现在的位置: 首页 > 综合 > 正文

Matrix使用的分析

2013年02月12日 ⁄ 综合 ⁄ 共 517字 ⁄ 字号 评论关闭

 

在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坐标也是同理

 

抱歉!评论已关闭.