2014-08-27 31 views
0

如何計算圖像的大小如果我們知道圖像的height,widthMIME typebitmap,我們如何計算它的大小?如何使用高度寬度和類型android

截至目前,bitmap未分配。我正在使用inJustDecodeBounds獲取height,widthMime type

Android中是否有一些特定的方法,或者我們是否使用一些數學方法?

回答

0
public static int getBitmapByteSize(Bitmap bitmap) { 
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
     return bitmap.getAllocationByteCount(); 
    } 
    else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { 
     return bitmap.getByteCount(); 
    } 
    else { 
     return bitmap.getRowBytes() * bitmap.getHeight(); 
    } 
} 

要從ImageView調用位圖調用((BitmapDrawable)image.getDrawable()).getBitmap()

+0

謝謝,我早先看過代碼。但截至目前,該位圖未分配。我正在使用inJustDecodeBounds來獲取高度,寬度和MIME類型..所以我不能使用上述方法。 – inquisitive 2014-08-27 10:09:03

+0

如果你仍然沒有解決你的問題,我想我找到了解決方案。圖像的大小將是其寬度,高度和每像素字節數的乘積。您已經擁有寬度和高度,因此最後要做的事情是將MIME類型轉換爲每像素的字節數。看看這個代碼[ImageInfo](http://www.java2s.com/Code/Java/2D-Graphics-GUI/GetfileformatimageresolutionnumberofbitsperpixelJPEGGIFBMPPCXPNGIFFRASPBMPGMPPMPSDandSWFfiles.htm)使用'ImageInfo'的'getBitsPerPixel()'方法,你可以檢查缺少的信息和計算能夠給你圖像大小的產品。 – 2014-08-27 12:42:33

+0

非常感謝..這真的很有幫助。但我實際上實現了一個try catch塊來按照我想要的方式完成任務。 – inquisitive 2014-08-28 04:55:00