我正在开发一个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;
}
当图片的字节出现错误时,结果会变成null。我认为这是可以预料的,因为在
BitmapFactory.decodeStream
文档中有这样的描述:如果输入流为null,或无法用于解码位图,则该函数返回null。流的位置将在读取编码数据后的任何位置。
问题在于,我的错误图片在Web浏览器上可以很好地被解释,而且我也可以在iPhone平台上做到这一点。
是否有一种方法可以忽略那些错误的像素?也许可以使用选项参数?
感谢任何帮助。
Romain