He estado buscando una solución a este problema durante más de un día, pero nada ayuda, incluso las respuestas aquí. La documentación tampoco explica nada.
Simplemente estoy tratando de obtener una rotación en la dirección de otro objeto. El problema es que el mapa de bits no gira alrededor de un punto fijo, sino alrededor de los mapas de bits (0,0).
Aquí está el código con el que tengo 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;
La parte extraña es que no importa cómo cambie los valores dentro de pre
/ postTranslate()
y los argumentos flotantes en setRotation()
. ¿Puede alguien ayudarme y empujarme en la dirección correcta? :)
new
matriz recién editada. Ya es la identidad.