Как получить растровое изображение с определенным (с учетом памяти) размером с камерой?
Я начинаю с камеры:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra("return-data", true);
photoUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "mytmpimg.jpg"));
cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(cameraIntent, REQUEST_CODE_CAMERA);
Я обрабатываю результат здесь:
// Bitmap photo = (Bitmap) intent.getExtras().get("data");
Bitmap photo = getBitmap(photoUri);
Теперь, если я использую прокомментированную строку - сразу получаю растровое изображение, всегда получаю растровое изображение размером 160 х 120, и это слишком мало. Если я загружу его из URI, используя некоторые стандартные материалы, которые я нашел (метод getBitmap), он загружает растровое изображение 2560 x 1920 (!) И потребляет почти 20 МБ памяти.
Как я могу загрузить 480 х 800 (тот же самый размер, который показывает мне предварительный просмотр камеры)?
Без необходимости загружать 2560 x 1920 в память и уменьшать масштаб.