Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: hardartcoreОтветов: 2

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

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

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

Какие-либо предложения?

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

androidgetbitmapsizebitmapfactory

Ответы

Ответ 1 · рейтинг 5 · das_weezul

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

getWidth()
getHeight()

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

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

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

Ответ 2 · рейтинг 4 · Paradius

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы