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

时间:2014-05-18 07:09:22

标签: java android matrix bitmap

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

我想将其发送到我的服务器并使用Android API8。

我应该使用Matrix.setRotate还是Matrix.postRotate

两者有什么区别?

2 个答案:

答案 0 :(得分:5)

API ReferencesetRotate设置特定的绝对轮次(围绕(0,0)或其他一些用户提供的点),而{{3} } 添加调用它的矩阵的旋转。

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

答案 1 :(得分:5)

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

如果您想翻译,请转动setTranslate,然后postRotate。如果您只想转动并以new Matrix开头,那么从技术上讲,您可以setRotatepostRotate,因为您的矩阵最初将是身份。

我已将API reference包含在Matrix对象中。我并不认为它是一个普遍可用的解释。