Размер растрового изображения Android - PullRequest
6 голосов
/ 26 февраля 2011

Я загружаю изображения из Интернета и использую виджет Галерея для отображения изображений.

Если размер загруженного изображения огромен, мое приложение вылетает с журналом ниже.

"E/GraphicsJNI( 3378): VM won't let us allocate 5591040 bytes"

Я хочу уменьшить размер загружаемого изображения только тогда, когда размер изображения будет больше, чем если бы приложение зависало. Я написал код для уменьшения размера изображения, но я не уверен, как найти размер растрового изображения, чтобы я мог решить, масштабировать или нет

   BitmapFactory.Options o = new BitmapFactory.Options();
   o.inSampleSize = 2;
   Bitmap bit = BitmapFactory.decodeStream(inputStream,null,o);
   Bitmap scaled = Bitmap.createScaledBitmap(bit, 200, 200, true);
   bit.recycle();
   return scaled;

Ответы [ 2 ]

4 голосов
/ 10 декабря 2012

Чтобы получить размеры растрового изображения, вы можете просто использовать:

Чтобы получить высоту -> bitmap.getHeight () Чтобы получить ширину -> bitmap.getWidth ()

3 голосов
/ 26 февраля 2011

Используйте inJustDecodeBounds поле BitmapFactory.Options, чтобы получить размеры растрового изображения.

...