Я создаю приложение для Android, и в настоящее время у меня возникают проблемы с извлечением растрового изображения из URL. Вот код, который я использую:
public static Bitmap bmpFromURL(URL imageURL){
Bitmap result = null;
try {
HttpURLConnection connection = (HttpURLConnection)imageURL .openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
result = BitmapFactory.decodeStream(input);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
Все отлично работает, когда запись изображения, но когда некоторые байты ошибочны, результат становится нулевым. Я думаю, что это в основном ожидаемо, так как написано в документе BitmapFactory.decodeStream
:
Если входной поток имеет значение null или не может использоваться для декодирования растрового изображения, функция возвращает значение null. Положение потока будет таким, каким оно было после считывания закодированных данных.
Проблема в том, что мой неправильный рисунок хорошо интерпретируется моим веб-браузером, и я могу сделать это на платформе iPhone.
Есть ли способ игнорировать неправильные пиксели? может быть с параметром option?
Любая помощь приветствуется
Ромен