Получить размер растрового изображения Android


person hardartcore    schedule 26.07.2011    source источник
comment
@stema, @ ThiefMaster ; Я думаю, когда вы закрываете вопрос как дубликат, то в комментарии к этому вопросу вы должны указать ссылку на исходный вопрос, дубликатом которого является, чтобы другие, кто ищет ответ на подобные вопросы, получили пользу от него.   -  person Shirish Herwade    schedule 27.12.2012


Ответы (2)


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

getWidth()
getHeight()

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

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

Или я что-то здесь упускаю?

person das_weezul    schedule 26.07.2011

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

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);
}
person Paradius    schedule 26.01.2012
comment
Это неправильно! размер файла не имеет ничего общего с размером растрового изображения. Большинство изображений сжаты, и фактический размер растрового изображения обычно больше. - person donald; 23.09.2013
comment
что такое управляемый запрос? - person Han Whiteking; 12.01.2018