Подтвердить что ты не робот

Получить размер Bitmap Android

Возможный дубликат:
Размер битового массива после декодирования?

В любом случае, я могу получить размер этого растрового изображения? Я пытался использовать getByteCount(), но я не могу его использовать?

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

Любые предложения?

4b9b3361

Ответ 1

Если изображение локально сохранено, вы можете сделать следующее

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

Как вы можете видеть из API, вы можете использовать

getWidth()
getHeight()

для размера растрового изображения в пикселях.

И если это массив байтов (8 бит = 1 байт), просто возьмите decryptedData.length - offset, и вы знаете, сколько байтов в битовой карте.

Или я что-то пропустил?