Мне нужно сделать снимок с помощью камеры и, если это зависит от размера изображения, повернуть его перед сохранением в галерее.
Я использую
Intent imageCaptureIntent = new Intent (MediaStore.ACTION_IMAGE_CAPTURE);
imageCaptureIntent.putExtra (MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult (imageCaptureIntent, IMAGE_CAPTURE);
Чтобы сделать снимок и сохранить его во временном файле.
Тогда
Bitmap bmp = BitmapFactory.decodeFile (imagePath);
String str = android.provider.MediaStore.Images.Media.insertImage (cr, bmp, имя, описание);
Чтобы сохранить его.
Это код, который я пытался использовать для поворота растрового изображения
матричная матрица = новая матрица ();
matrix.postRotate (180);
Битовая карта x = Bitmap.createBitmap (bmp, 0, 0, bmp.getWidth (), bmp.getHeight (), matrix, true);
android.provider.MediaStore.Images.Media.insertImage (cr, x, имя, описание);
Проблема в том, что я получаю исключение OutOfMemoryException.
Есть ли лучший способ обработки растровых изображений, чтобы избежать повреждения памяти?
~ Спасибо заранее, привет