arasında gerçek bir döndürme gerekiyor Bir bitmap görüntüyü yatay biçimden bir portre biçimine değiştirmek için 90 derece döndürmeye çalışıyorum. Örnek:Android, bitmap'i 90 derece döndürerek, ezilmiş görüntü elde edilmesini sağlar. Dikey ve yatay
[a, b, c, d]
saat yönünde 90 derece
olur [e, f, g, h]
[i, j, k, l]
döndürülebilir [ı, e, a]
[j, f, b]
[k, g-c] (çevrimiçi bir örnekten) aşağıdaki kodu kullanarak
[i, h, d]
görüntü 90 derece döndürülür ancak t o manzara en boy oranı, böylece dikey olarak ezilmiş bir görüntü ile sonuçlanır. Yanlış bir şey mi yapıyorum? Kullanmam gereken başka bir yöntem var mı? Ben de daha kolay ise bitmap oluşturmak için kullandığım jpeg dosyasını döndürmek için istekliyim. Kodunuzda
Matrix matrix = new Matrix();
matrix.postRotate(90);
rotated = Bitmap.createBitmap(original, 0, 0,
original.getWidth(), original.getHeight(),
matrix, true);
: Burada
// create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// rotate the Bitmap
matrix.postRotate(90);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOriginal, 0, 0, widthOriginal, heightOriginal, matrix, true);
Sorunuzu doğru anladığımdan emin değilim. Yönlendirme değiştiğinde ekran düzenini döndürmek ister misiniz? Veya yönelim değişmese de ekran düzenini değiştirmek mi istiyorsunuz? (Oryantasyon değiştiğinde Android ekran öğelerini otomatik olarak döndürür!) – Ahmed
Bu yüzden bitmap verisinin kendisini değiştirmek istiyorum. Uygulamamda kamera resmi yanlış şekilde saklıyor, böylece "portre" yönünde bir resim çekilse bile görüntüyü hala "manzara" yönünde yüklüyor. Dosyanın EXIF verileri aracılığıyla gerçek yönlendirmeyi algılayabiliyorum ve bitmap'i doğru yönlendirmeye döndürmek istiyorum. Sadece bitmap'in nasıl görüntülendiğini değiştirmek istemiyorum ama gerçek verileri değiştirdim, böylece görüntüyü değiştirdikten sonra doğru şekilde kaydedilebilir. – user999764