我正在尝试使用Android Matrix对象旋转给定的位图。
我想将其旋转并发送到我的服务器,我正在使用Android API8。
我应该使用Matrix.setRotate
还是Matrix.postRotate
?
这两者之间有什么区别?
setRotate
方法会替换已执行的旋转操作,使用指定的旋转角度进行矩阵变换。而 postRotate
方法会使用当前的矩阵值,并将其使用指定的旋转角度进行变换。
如果您想先进行平移再进行旋转,则可以使用 setTranslate
和 postRotate
方法。如果您只是想进行旋转,并且从一个新的矩阵开始,则可以使用 setRotate
或 postRotate
方法,因为您的初始矩阵将是单位矩阵。
我在此提供了 Matrix 对象的API 参考文档,但并不认为它是普遍易懂的解释。
setRotate
设置一个特定的绝对旋转(围绕(0,0)
或其他用户提供的点),而postRotate
增加调用它的矩阵的旋转。