Я більше доби шукав рішення цієї проблеми, але нічого не допомагає, навіть відповіді тут. Документація теж нічого не пояснює.
Я просто намагаюся отримати обертання в напрямку іншого об'єкта. Проблема полягає в тому, що растрове зображення обертається не навколо фіксованої точки, а навколо растрових зображень (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()
. Хтось може допомогти і підштовхнути мене в правильному напрямку? :)
new
матрицю. Це вже ідентичність.