Подтвердить что ты не робот

Преобразование входного потока в растровое изображение

У меня проблемы с преобразованием входного потока из сети в растровое изображение. Проблема возникает только тогда, когда тип входного изображения является .BMP(bitmap). В этом случае: bitmapFactory.decodeStream возвращает null.

Любые подсказки, как исправить эту проблему или где я должен продолжить отладку?

Платформа: Android (сотовый)

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

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);
4b9b3361

Ответ 1

Спасибо @Amir, чтобы указать журнал. Обнаружена строка:

decoder->decode returned false

Это, кажется, общая проблема. Выполняя поиск, я нашел решение.

Мой предыдущий код:

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

inputStream = conn.getInputStream();

bufferedInputStream = new BufferedInputStream(inputStream);

bmp = BitmapFactory.decodeStream(bufferedInputStream);

Код, который работает:

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

Источник