Как правильно перевести размер картинки в Мб?

Получаю размер картинки вот так:

image.getByteCount()

эту цифру делю на 1024, чтобы получить Мб, но получается неправильно.

Например: image.getByteCount() выдает 3048192 в байтах / 1024 = 2976,75 а реальный размер 430.7 кб.


Ответы (2 шт):

Автор решения: Igor

Во-первых, если "цифру делить на 1024", получатся килобайты.

Во-вторых, подозреваю, что речь идет о размере файла. В файл картинки сохраняются десятками способов в зависимости от формата и сжатия.

→ Ссылка
Автор решения: Tony Sider

Я подозреваю что, вы получаете не байты, а биты) 1 байт = 8 бит Тогда:

3048192 / 1024 / 8 = 372 кб ( +58.6 кб системной информации зависит от формата файла и системы )

http://informatika.edusite.ru/lezione10_10i.htm

P.S.

Либо если это *.JPEG(жипег), то вы шакалов видели?)) В этом формате присутствует сжатие, причём очень высокое, так-что лучше измеряйте готовый файл того формата в котором будете хранить ваши изображения

→ Ссылка