Мне нужно изменить размер/уменьшить изображение, которое я выбираю из своей галереи, прежде чем оно будет возвращено с BitmapFactory.decodeStream(imagestream)
. Он выбрасывает OutOfMemory Exception
, когда я выбрал для большого изображения. Как изменить размер изображения до его возврата из decodeStream?Android - изменение размера изображения до того, как BitmapFactory.decodeStream вернет его
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == IMAGE_PICKER_SELECT
&& resultCode == Activity.RESULT_OK) {
Uri selectedImage = data.getData();
InputStream imageStream = null;
try {
imageStream = getContentResolver().openInputStream(
selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Bitmap bitmap = BitmapFactory.decodeStream(imageStream);
imgV.setImageBitmap(bitmap);
// sb = bitmap;
// imgSelected = true;
selectedImage = null;
imageStream = null;
bitmap = null;
}
}
Приведи [этот вопрос SO] (http://stackoverflow.com/questions/10413659/how-to-resize-image-in-android). –
@Sash_KP: ссылка, которую вы указали, имеет дело с растровым изображением, но у ОП возникает проблема декодирования растрового изображения, и именно по этой причине он хочет изменить размер. 'Как я могу изменить размер изображения до его возврата из decodeStream', он хочет изменить размер с помощью' imagestream' –