2014-10-19 4 views
0

Мне нужно сжать растровое изображение после загрузки с http-сервера, если размер изображения будет принимать 100 КБ на SD-карте, если это до 100 КБ, тогда не нужно компресс.Знание размера растрового изображения на SD-карте перед сохранением его на SD-карте

Итак, я хочу знать размер растрового изображения на SD-карте, прежде чем сохранять его на SD-карте, чтобы я мог сжать растровое изображение, если это необходимо. Размер, который имеет изображение image.getRowHeight() * image.getHeight(), отличается от file.length().

+0

Большинство форматов изображений уже сжаты, поэтому в большинстве случаев их сжатие бесполезно. – Henry

+0

@Henry У меня есть формат jpg изображений? –

+0

jpg уже сжат. Вы можете попытаться сжать его снова с помощью некоторых тестовых изображений, их не так много. – Henry

ответ

0

Как указано в official android document, следующая методика позволяет прочитать размеры и тип данных изображения до построения (и распределения памяти) растрового изображения.

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inJustDecodeBounds = true; 
BitmapFactory.decodeResource(getResources(), R.id.myimage, options); 
int imageHeight = options.outHeight; 
int imageWidth = options.outWidth; 

Чтобы увидеть размер файла в байтах, используйте File.length()

+0

Я должен знать размер в байтах. Высота и ширина позволяют задавать размер при времени выделения. –

+0

В этом случае см. Обновленный ответ. – JiTHiN

0

Проверьте поле Content-Lenght заголовка ответа с помощью своего клиента HTTP.

rfc2616

Поле заголовка объекта Content-Length указывает размер тела объекта, в десятичное число октетов, отправляется получателю, или, в случае метода HEAD, размер органа-тела, который был отправлен, если запрос был GET.

+0

Просто использование длины контента в порядке или любая забота должна быть взята с этим? –

+0

Значение «Content-Lenght» содержит размер загружаемого изображения, поэтому он отлично подходит для него, если нет заголовка Content-Encoding: gzip, deflate'. Но не должно быть требований к изображениям. – biegleux

+0

В моем случае я не получаю никакого значения в заголовке «длина контента». –

Смежные вопросы