Bu soruna bir çözüm bulmak için bir günden fazla arıyordum ama hiçbir şey yardımcı olmuyor, buradaki cevaplar bile. Belgeler de hiçbir şeyi açıklamıyor.
Sadece başka bir nesnenin yönünde bir dönüş elde etmeye çalışıyorum. Sorun, bitmapin sabit bir nokta etrafında değil, bitmapler (0,0) etrafında döndürülmesidir.
İşte sorun yaşadığım kod:
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;
İşin tuhaf yanı, içindeki pre
/ içindeki değerleri postTranslate()
ve içindeki float argümanlarını nasıl değiştirdiğim önemli değil setRotation()
. Birisi bana yardım edip doğru yöne itebilir mi lütfen? :)
new
hazırlanmış bir matrisi sıfırlamanıza gerek yoktur . Zaten kimlik.