web-dev-qa-db-ja.com

ビットマップのサイズを取得Android

重複の可能性:
デコード後のビットマップバイトサイズ?

このビットマップのサイズを取得できるようにする方法はありますか?getByteCount()を使用しようとしましたが、使用できませんか?

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

助言がありますか?

11
h4rd4r7c0r3

[〜#〜] api [〜#〜] からわかるように、次を使用できます。

getWidth()
getHeight()

ビットマップのサイズ(ピクセル単位)。

そして、それがバイトの配列(8bit = 1byte)の場合は、decryptedData.length - offsetそしてあなたはビットマップに何バイトあるか知っています。

それとも私はここで何かが足りないのですか?

5
das_weezul

画像がローカルに保存されている場合は、次の操作を実行できます

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);
}
4
Paradius