Android: Как повернуть растровое изображение в центральной точке

Больше дня искал решение этой проблемы, но ничего не помогает, даже ответы здесь. Документация тоже ничего не объясняет.

Я просто пытаюсь получить поворот в направлении другого объекта. Проблема в том, что растровое изображение вращается не вокруг фиксированной точки, а вокруг растрового изображения (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 () . Может ли кто-нибудь помочь и подтолкнуть меня в правильном направлении? :)

83
задан Adam Stelmaszczyk 21 August 2013 в 15:17
поделиться