Как получить с камеры растровое изображение с определенным (подходящим для памяти )размером?
Я начинаю намерение камеры с:
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 x 120, а это слишком мало. Если я загружаю его из URI, используя некоторые стандартные вещи, которые я нашел (метод getBitmap ), он загружает растровое изображение 2560 x 1920 (! )и потребляет почти 20 мб памяти.
Как мне загрузить, скажем, 480 x 800 (того же размера, который показывает предварительный просмотр камеры )?
Без загрузки 2560 x 1920 в память и уменьшения масштаба.