La conversión de una secuencia de entrada en mapa de bits

Tengo problemas para convertir un stream de entrada de la web en mapa de bits. El problema se produce sólo cuando la entrada tipo de imagen es .BMP (mapa de bits). En ese caso: bitmapFactory.decodeStream devuelve null.

Cualquier sugerencias de cómo solucionar este problema, o donde debo continuar mi depuración?

Plataforma: Android (Honeycomb)

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

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);
  • ¿Hay algún error de registro que puede ayudar?
InformationsquelleAutor Indrek Kõue | 2011-07-07

1 Kommentar

  1. 61

    Gracias @Amir para señalar el registro. Descubrió una línea:

    decoder->decode returned false

    Esto parece ser un problema común. Haciendo una búsqueda he encontrado 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 de trabajo:

    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

    • ¿Qué servicio se utiliza ?
    • Yo uso el Servicio de WCF y cuando puedo enviar byte[] de la imagen y utiliza su método para volver a convertir a mapa de bits de la imagen, pero BitmapFactory.decodeStream(instream) es siempre nulo!!

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea