2016-06-28 70 views
0

因此,我正在開發應用程序,並且需要獲取圖像高度。該圖像存儲在手機中。要做到這一點我使用以下代碼:LogCat中沒有顯示位圖高度

 photoPath = "file://" + Environment.getExternalStorageDirectory() + "/WIP/test.jpg"; 
     Log.i("Debuguo", photoPath); 
     Bitmap bitmapWV = BitmapFactory.decodeFile(photoPath); 
     Log.i("Debuguo", "Test"); 
     String info = Float.toString(bitmapWV.getHeight()); 
     Log.i("Debuguo", info); 

但問題是,位圖的高度不顯示在LogCat中。我已經設置了2個更多的調試點來檢查其餘的工作,我在調試窗口中得到了photoPath字符串,​​但沒有高度。我想的東西可能是錯誤的位圖本身,所以我試圖創建它的不同的方法,但仍然沒有改變:

public static Bitmap getBitmapFromUrl(String src) { 
    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
    Bitmap bitmap = BitmapFactory.decodeFile(src, options); 
    return bitmap; 
    } 

老實說,這是我第一次遇到這樣的問題 - 沒有錯誤,調試沒有顯示一個東西。我不知道是什麼導致了它。

+0

'photoPath = 「文件://」 + ... +''BitmapFactory.decodeFile' +'bitmapWV.getHeight()'= NPE – Selvin

+0

試在返回第二種方法中的位圖之前調用'options.outHeight'(看看這個答案:http://stackoverflow.com/a/17831915/5052976) – Katharina

回答

1

刪除 「文件://」 前綴

String photoPath = Environment.getExternalStorageDirectory() + "/WIP/test.jpg"; 
Bitmap bitmap = BitmapFactory.decodeFile(photoPath); 
+0

它工作。謝謝! –