Уменьшение размера изображения приводит к удалению пикселей, что снижает разрешение изображения. Конечно, файл также становится меньше. Если вы сохраняете в формате JPEG высокой четкости (скажем, 95%), это может быть все, что вам нужно для уменьшения размера файла.
Уменьшение размера файла методом без потерь (например, PNG) позволит уменьшить размер файла без потери качества — отсюда и название. Уменьшение зависит от изображения: изображение с большим количеством одинаковых пикселей, например скриншот этой страницы, будет существенно сжато.
Использование метода с потерями (например, обычное сжатие JPEG) приведет к еще меньшему размеру файла, но вы заплатите за это сокращение потерей качества. Большинство методов сохранения файлов JPEG позволяют вам выбрать точность, часто по умолчанию 80%, которая контролирует качество результирующего изображения; это строка, которая делает это в коде, который вы разместили:
scaledBitmap.compress(Bitmap.CompressFormat.JPEG, 80, out);
Опять же, достигнутое вами уменьшение обратно пропорционально сложности изображения, а также этому параметру точности.
Вот сообщение в блоге, которое я написал о выборе форматов изображений: Как выбрать формат изображения. Этот тоже стоит прочитать.
В ответе @Gavriel есть больше хороших ссылок на сжатие с потерями и без потерь.
person
kwinkunks
schedule
09.02.2016