2011-07-26 8 views
10

可能な重複のサイズ取得:?私はgetByteCountを(使用するようにしようとしたこのビットマップのサイズを得ることができるので、
Bitmap byte-size after decoding?ビットマップのAndroid

がとにかくあります)が、Iそれを使用することはできませんか?

Bitmap bitmap = BitmapFactory.decodeByteArray(decryptedData , 0, decryptedData .length); //decoding bytearrayoutputstream to bitmap 

+4

@stemaを行うことができ、@ ThiefMaster。私はあなたが質問を重複して閉じると、その質問のコメントに、それが重複している元の質問のリンクを与えるべきだと思うので、このような質問への回答を探している人は、それから。 –

答えて

3

あなたがAPIから見ることができるように、あなたはピクセル単位でビットマップのサイズに

getWidth() 
getHeight() 

を使用することができます。

バイトの配列(8ビット= 1バイト)の場合は、decryptedData.length - offsetとすれば、ビットマップのバイト数が分かります。

ここに何か不足していますか?

4

画像がローカルに保存されている場合は、次の

public long getImageLength(String absFileName) 
{   
    File file = new File(absFileName); 
    return file.length(); 
} 

/** 
* From "http://stackoverflow.com/questions/2169649/open-an-image-in-androids-built-in-gallery-app-programmatically" 
* uri - data stored in an Intent returned from an application such as Gallery or Camera 
*/ 
private String getAbsPath(Uri uri) 
{ 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 
+2

これは間違っています!ファイルサイズはビットマップサイズとは関係ありません。 ほとんどの写真は圧縮されており、通常は実際のビットマップサイズが大きくなります。 – donald

+0

managedQueryとは何ですか? –

関連する問題