web-dev-qa-db-fra.com

Conversion du flux d'entrée en bitmap

J'ai des problèmes pour convertir un flux d'entrée du Web en bitmap. Le problème se produit uniquement lorsque le type d'image d'entrée est .BMP (bitmap). Dans ce cas: bitmapFactory.decodeStream renvoie null.

Des conseils sur la façon de résoudre ce problème ou où dois-je continuer mon débogage?

Plateforme: Android (Honeycomb)

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

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);
41
Indrek Kõue

Merci @Amir d'avoir signalé le journal. Découvert une ligne:

decoder->decode returned false

Cela semble être un problème courant. En faisant une recherche, j'ai trouvé une solution.

Mon code précédent:

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

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);

Code qui fonctionne:

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);

Source

61
Indrek Kõue