2012-08-14 55 views
1

我正在做一個Android項目,其中,我必須使用相機拍攝照片或從畫廊。如何從Android中的圖庫中獲取所選圖像的大小?

通常當我們這樣做,我們得到的圖像的URL,我明白了。但是讓我知道是否有任何方法可以通過編程方式獲得我們從該畫廊中選擇的圖像大小?

任何人都可以提出一個解決方案,或者如果你知道任何有用的鏈接與此相關。

任何幫助,將不勝感激。

回答

0

將圖像放入Bitmap對象中,然後使用getWidth(),getHeight()方法獲取圖像的大小。

Bitmap image = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_image); 
int w = image.getWidth(); 
int h = image.getHeight(); 
+0

從這一點我們怎麼能找到圖像的大小?寬度*高度是否與圖像大小相同? – 2012-08-14 12:20:39

+0

啊,對不起。當你提到尺寸時,我理解了高度和寬度。但是如果你的意思是以字節,兆字節等形式表示圖像的大小,那麼一個想法是將位圖轉換爲byte []數組。或者,如果您使用Cursor直接從庫中提取圖像,則可以從android.provider.MediaStore.MediaColumns - SIZE列中訪問圖像的大小。 – 2012-08-14 12:25:54

1
Bitmap image = BitmapFactory.decodeStream(getContentResolver().openInputStream(filePathOfSelectedImage), null, null); 

現在,您可以通過使用的getHeight(得到高度和寬度)的getWidth()位圖的方法。

1

的確定的位圖對象的大小使用getRowBytes()

Bitmap image = .. 
final int sizeInBytes = image.getHeight() * image.getRowBytes(); 

由於API級別12,你可以用getByteCount()代替

final int sizeInBytes = image.getByteCount(); 
相關問題