BitmapFactory在.png圖像上完美運行,但在從url加載jpeg圖像時返回null。BitmapFactory在.png圖像上完美運行,但當我從url加載jpeg圖像時返回null
BitmapFactory.decodeStream((InputStream) new URL(URL).getContent(), null, options);
我使用這段代碼,但是當我提供一個jpeg圖片url時,它返回null。
我該怎麼辦?
BitmapFactory在.png圖像上完美運行,但在從url加載jpeg圖像時返回null。BitmapFactory在.png圖像上完美運行,但當我從url加載jpeg圖像時返回null
BitmapFactory.decodeStream((InputStream) new URL(URL).getContent(), null, options);
我使用這段代碼,但是當我提供一個jpeg圖片url時,它返回null。
我該怎麼辦?
嘗試這種方式可能它的工作原理是對我的作品爲.jpg文件圖像
Bitmap bitmaps = LoadImage(strMainImageLink, new BitmapFactory.Options()); where **LoadImage** method is as shown below
的LoadImage方法
private Bitmap LoadImage(String URL, BitmapFactory.Options options)
{
Bitmap bitmap = null;
InputStream in = null;
try {
// in = OpenHttpConnection(URL);
bitmap = BitmapFactory.decodeStream(OpenHttpConnection(URL), null, options);
// in.close();
} catch (IOException e1) {
Log.e("erererere", e1.toString());
}
return bitmap;
}
private InputStream OpenHttpConnection(String strURL) throws IOException{
InputStream inputStream = null;
URL url = new URL(strURL);
URLConnection conn = url.openConnection();
try{
HttpURLConnection httpConn = (HttpURLConnection)conn;
httpConn.setRequestMethod("GET");
httpConn.connect();
if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
inputStream = httpConn.getInputStream();
}
}
catch (Exception ex)
{
Log.e("error",ex.toString());
}
return inputStream;
}
檢查您的jpg是否在其中設置了顏色配置文件。 Android位圖解碼器因此導致我失敗。 可悲的是,我沒有時間或資源來找到解決方案。
要知道是否在jpg中設置了顏色配置文件,請嘗試用photoshop打開它,如果有,它應該提示您詢問如何處理配置文件。
的URL唯一標識在網絡上的資源。測試網址的好方法是使用瀏覽器。我不知道新的URL(URL)應該做什麼。 URL採用字符串參數,但其他構造函數可用請參閱https://docs.oracle.com/javase/7/docs/api/java/net/URL.html如果將字符串傳遞給構造函數,您可能希望爲該字符串賦值或僅使用文字字符串示例new URL(「google.com」),至少您會得到空指針以外的東西。我無法知道你的圖片是什麼網址,因爲網絡是一個很大的地方。
但圖像隨機來自互聯網。 –
有同樣的問題。首先要做的事情。下載不起作用的文件並檢查此顏色配置文件。然後嘗試使用與您知道沒有顏色配置文件的圖像相同的代碼。如果它正確加載你有罪魁禍首。 – Yahel