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