Android: como girar um bitmap em um ponto central

Estou procurando há mais de um dia uma solução para esse problema, mas nada ajuda, até as respostas aqui. A documentação também não explica nada.

Estou simplesmente tentando fazer uma rotação na direção de outro objeto. O problema é que o bitmap não é girado em torno de um ponto fixo, mas em torno dos bitmaps (0,0).

Aqui está o código com o qual estou tendo problemas:

  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;

A parte estranha é que não importa como eu mudo os valores dentropre/postTranslate() e os argumentos de flutuação emsetRotation(). Alguém pode me ajudar e me empurrar na direção certa? :)

questionAnswers(8)

yourAnswerToTheQuestion