Получить размер изображения (размер хранилища) из растрового изображения - PullRequest
0 голосов
/ 11 октября 2019

Я читаю изображение из памяти телефона. Помимо прочего, я хочу получить размер (размер в хранилище, а не размеры) этого изображения.

Я знаю, что по этой теме существует много вопросов, таких как:

Какполучить размер изображения в Android?

как проверить размер изображения менее 100 КБ для Android

Есть ли способ получитьразмер хранилища растрового изображения?

...

Но ни один из них не дает мне правильный размер изображения.

Имея imageUri, я преобразую его в растровое изображение следующим образом:

Bitmap bitmap = MediaStore.Images.Media.getBitmap(activity.getContentResolver(), imageUri);

И затем я пытаюсь:

bitmap.getByteCount()

Для конкретного изображения, котороеЯ знаю, что это 1,20 МБ , строка выше возвращает значение 9216000 . Поскольку он находится в Bytes, его деление на 1024 *1024* 1034 * вернет 8,78 МБ .

Это явно не соответствует реальному размеру.

Кто-нибудь еще испытывал такую ​​же проблему?

Примечания :

  1. Решения должны учитывать только то, что размер должен быть извлеченот объекта Bitmap (не File или чего-то еще ...)

  2. Пробовал с png и jpg изображениями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...