2013-07-07
导语:Matrix是android中对图像绘制的处理(旋转、放缩、平移等等),貌似书本翻页就是用这种方式处理的
正文:
1、基于坐标(px,py)旋转degrees度, postRotate(float degrees, float px, float py)
2、基于坐标(px,py)进行按照(sx,sy)比例进行放缩, postScale(float sx, float sy, float px, float py)
====
以上两种方法都正常,但是当两者一起用的时候,在degrees为180度的时候,就有问题了。图像不能旋转180度了,反而是没有旋转的状态。
postRotate(180f, w/2, h/2);
postScale(0.48f, 0.48f, w/2, h/2);
Matrix: 180: Matrix{[-0.48, -0.0, 480.0][0.0, -0.48, 561.0][0.0, 0.0, 1.0]}
====
最后用了笨方法,用了180.1度就OK了,大学的线性代数也忘了差不多了,懒得去研究了。
postRotate(180.1f, w/2, h/2);
postScale(0.48f, 0.48f, w/2, h/2);
Matrix: 180.1f : {[-0.47999924, 8.3774904E-4, 479.68542][-8.3774904E-4, -0.47999924, 561.4186][0.0, 0.0, 1.0]}
以上!
结尾: 1)坚持写写博客
2)继续学习开发
3)我是IT程序猿