在Android中使用Matrix对图片进行动画控制的过程中,三种变换之间有着非常密切的影响,在这里对这三种变换做一下总结:
1.三种变换都有相应的方法来生成相对应的矩阵:
postRotate postScale postTranslate (还有 setRotate等等). 这三种矩阵变换非别对应着:postRotate(旋转), postScale(缩放),postTranslate(平移). 也分别影响着Matrix中的 不同位置的值。 Matrix是3x3的矩阵。
2.三种变换中,除了postTranslate 不可以指定中心点之外,其他的两个都可以指定绕着某一个点进行变换。
为了能够使三种变换能够完美融合(缩放,旋转,平移,在视觉效果上没有影响。) 需要选择对图片进行中心位置的变换方式(默认的位置都是左上角)。public boolean postScale (float sx, float sy, float px, float py)
public boolean postRotate (float degrees, float px, float py)