(Простите, если я все понял неправильно, я новичок)
Я показываю несколько фотографий, сделанных с MediaStore.ACTION_IMAGE_CAPTURE
. Я пытался отключить автоориентацию при съемке, но она не работает, я использовал
putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION,ActivityInfo.SCREEN_ORIENTATION_NOSENSOR)
Это заставило меня повернуть некоторые из сделанных фотографий. Затем я сохраняю эти фотографии на SDCARD. Моя проблема в том, что я не хочу поворачивать их каждый раз, когда пользователь загружает фотографию. Я попробовал этот код, чтобы создать новое растровое изображение, которое будет сохранено в «повернутом» состоянии. Он работал на эмуляторе, но вылетает на моем HTC. Я предполагаю, что это проблема с памятью. Есть ли способ сделать это эффективно? А еще лучше, есть ли способ действительно отключить автоориентацию при съемке фотографий с помощью Camera Intent?
tempBitmap=BitmapFactory.decodeFile(dirPath+filename+".jpg");
int tempW = tempBitmap.getWidth();
int tempH = tempBitmap.getHeight();
if (tempW>tempH) {
Matrix mtx = new Matrix();
mtx.postRotate(90);
Bitmap rotatedBitmap = Bitmap.createBitmap(Bitmap.createBitmap(tempBitmap, 0, 0,
tempW, tempH, mtx, true));
} else{
//...
}