`Matrix.setRotate`和`Matrix.postRotate`有什么区别?

Ela*_*nda 6 java android bitmap matrix

我正在尝试使用android Matrix对象旋转给定的位图.

我想将它发送到我的服务器,我正在使用Android API8.

我应该使用Matrix.setRotateMatrix.postRotate

两者有什么区别?

mer*_*011 5

API参考中,setRotate设置特定的绝对旋转(围绕任一(0,0)或其他一些用户提供的点),同时添加调用矩阵的旋转.postRotate

我应该使用哪一个的问题最好通过尝试每一个并看到哪一个给你想要的结果来回答.


Gre*_*mil 5

setRotate将用指定的旋转替换已经执行的矩阵运算。 postRotate将使用当前矩阵值并使用指定的旋转对其进行变换。

如果要平移,请旋转setTranslate,然后按postRotate。如果您只是想旋转并以a开头,new Matrix那么从技术上讲您可以使用setRotatepostRotate,因为矩阵最初是标识。

我已经包含了对Matrix对象的API参考。不过,我并不认为这是可以普遍使用的解释。