Conversión de flujo de entrada en mapa de bits

1 minuto de lectura

Avatar de usuario de Indrek Kõue
Indrek Koue

Tengo problemas para convertir un flujo de entrada de la web a un mapa de bits. El problema ocurre solo cuando el tipo de imagen de entrada es .BMP (mapa de bits). En ese caso: bitmapFactory.decodeStream devuelve nulo.

¿Alguna sugerencia sobre cómo solucionar este problema o dónde debo continuar con la depuración?

Plataforma: Android (panal de abeja)

URLConnection conn = url.openConnection();
conn.connect();

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);

  • ¿Hay algún error de registro que pueda ayudar?

    – Amir Raminfar

    7 de julio de 2011 a las 14:33

Gracias @Amir por señalar el registro. Descubrí una línea:

decoder->decode returned false

Esto parece ser un problema común. Haciendo una búsqueda encontré una solución.

Mi código anterior:

URLConnection conn = url.openConnection();
conn.connect();

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);

Código que está funcionando:

HttpGet httpRequest = null;

try {
    httpRequest = new HttpGet(url.toURI());
} catch (URISyntaxException e) {
    e.printStackTrace();
}

HttpClient httpclient = new DefaultHttpClient();

HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);

HttpEntity entity = response.getEntity();

BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);

InputStream instream = bufHttpEntity.getContent();

bmp = BitmapFactory.decodeStream(instream);

Fuente

  • Uso el servicio WCF y cuando envío un byte[] de imagen y usó su método para volver a convertir a imagen de mapa de bits, ¡pero BitmapFactory.decodeStream (instream) siempre es nulo!

    – Big.Child

    21 de noviembre de 2012 a las 8:45

Aquí hay una respuesta de una línea.

val bitmap = BitmapFactory.decodeStream(inputStream)

Devuelve un Bitmap

  • Siéntase libre de usar esto para obtener imágenes locales, por ejemplo

    – Konstantín Konopko

    20 de abril de 2021 a las 11:56


¿Ha sido útil esta solución?