2016-02-14 54 views
2

編碼後獲取位圖大小是否正確? 如果在選擇圖像時編碼之前需要使用它,該怎麼辦?編碼後獲取位圖大小?

if (v == buttonUpload) { 
     if (bitmap.getByteCount() > 1000000) { 
      Toast.makeText(getActivity().getApplicationContext(), "please check image size!!", Toast.LENGTH_SHORT).show(); 
     } else { 
      uploadImage(); 
     } 
    } 
+0

你認爲大小?你選擇了一個圖像,然後我認爲你選擇了圖庫文件的圖庫應用程序。那麼文件大小。你沒有提供足夠的信息來幫助你。 – greenapps

+0

是從圖庫中選擇圖片後,當他點擊上傳按鈕上傳圖片時,這種情況是可以看到位圖大小但有時不起作用的 – mohammed02

回答

0

如果你想檢查壓縮位圖圖像的大小,請使用:

file.length(); 
+0

所以我必須將位圖圖像轉換爲整數。 – mohammed02

+0

廢話。位圖不能轉換爲整數。 – greenapps

+0

不需要轉換,因爲您可以使用此方法獲取文件長度。如果使用byteCount-method或sizeOf-method檢查它,則內存將始終相同,因爲使用的內存與位圖文件的實際文件大小不同。 – Edik

0

編碼

後,您已經保存的位圖作爲後PNG還是JPEG? (使用bitmap.compress)

如果是這樣的話,那麼你可以簡單地獲取文件,並使用file.length()找到它的大小,它會給你文件的字節大小(在這種情況下是圖像文件)。查閱Saving Files瞭解更多關於使用文件的信息。

還是你想弄清楚位圖對象的內存大小?在這種情況下,您可以使用分析(通過DDMS)。你可以閱讀更多關於它here