PDA

Ver la Versión Completa : BitmapFactory


Pulposperdidos
11/07/13, 11:52:04
tengo una duda con lo un bitmapfactory, cargo la foto en la variable foto, que es un InputStream, y luego pretendo mostrarla en 2 bitmap.

para ello pongo:
Imagen1.setImageBitmap(BitmapFactory.decodeStream( foto));
Imagen2.setImageBitmap(BitmapFactory.decodeStream( foto));

y se muestra correctamente en Imagen1, pero no sale nada en Imagen2, si intercambio el orden de las líneas, se muestra en Imagen2, pero no en Imagen1...
Me da la impresión que el bitmapfactory destruye el inputstream que le pasamos... lo que me parece absurdo.
A ver si veis esto normal o me estoy equivocando en algo.

mocelet
11/07/13, 12:11:09
Un input stream es un flujo de datos, si ya has leído el flujo de datos entero (la primera vez que lo decodificas) entonces no hay nada más que leer porque se ha alcanzado el final (y la segunda vez no hay datos que decodificar).

Lo que tienes que hacer es guardar el resultado de BitmapFactory.decodeStream y luego olvidarte del stream.

Pulposperdidos
11/07/13, 12:20:15
gracias mocelet, yo ya había supuesto que los datos se "autodestruían", pero no entendía porque. Y es que los flujos de datos hacen estas cosas. :)
muchas gracias