BitmapFactory.decodeStream devuelve nulo cuando se configuran las opciones
Tengo problemas conBitmapFactory.decodeStream(inputStream)
. Al usarlo sin opciones, devolverá una imagen. Pero cuando lo uso con opciones como en.decodeStream(inputStream, null, options)
nunca devuelve mapas de bits.
Lo que intento hacer es reducir la muestra de un mapa de bits antes de cargarlo para ahorrar memoria. He leído algunas buenas guías, pero ninguna usando.decodeStream
.
Manejo de mapas de bits grandes
Procesamiento de imágenes en Android
TRABAJOS SOLO FINOS
URL url = new URL(sUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream is = connection.getInputStream();
Bitmap img = BitmapFactory.decodeStream(is, null, options);
NO FUNCIONA
InputStream is = connection.getInputStream();
Bitmap img = BitmapFactory.decodeStream(is, null, ,options);
InputStream is = connection.getInputStream();
Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(is, null, options);
Boolean scaleByHeight = Math.abs(options.outHeight - TARGET_HEIGHT) >= Math.abs(options.outWidth - TARGET_WIDTH);
if (options.outHeight * options.outWidth * 2 >= 200*100*2){
// Load, scaling to smallest power of 2 that'll get it <= desired dimensions
double sampleSize = scaleByHeight
? options.outHeight / TARGET_HEIGHT
: options.outWidth / TARGET_WIDTH;
options.inSampleSize =
(int)Math.pow(2d, Math.floor(
Math.log(sampleSize)/Math.log(2d)));
}
// Do the actual decoding
options.inJustDecodeBounds = false;
Bitmap img = BitmapFactory.decodeStream(is, null, options);