我已经寻找了一整天解决这个问题,但是没有任何帮助,即使是这里的答案。文档也没有解释清楚。
我只是试图使一个对象沿着另一个对象的方向旋转。问题在于位图不是围绕一个固定点旋转,而是围绕位图的 (0,0) 旋转。
这是我遇到问题的代码:
Matrix mtx = new Matrix();
mtx.reset();
mtx.preTranslate(-centerX, -centerY);
mtx.setRotate((float)direction, -centerX, -centerY);
mtx.postTranslate(pivotX, pivotY);
Bitmap rotatedBMP = Bitmap.createBitmap(bitmap, 0, 0, spriteWidth, spriteHeight, mtx, true);
this.bitmap = rotatedBMP;
奇怪的是,我如何更改pre
/postTranslate()
中的值以及setRotation()
中的浮点参数都没有关系。请问有人可以帮忙并指导我正确的方向吗?:)