Как уменьшить размер JPG-файла
У JPG ровно два рычага, и они работают по-разному. Качество вы двигаете в пределах шкалы, и оно упирается в нижнюю границу: ниже двадцати пяти картинка рассыпается на квадраты. Число пикселей ограничено только вашим согласием: уменьшение длинной стороны до семи десятых оставляет 49 процентов площади, до половины — 25 процентов. Поэтому если после подбора качества цель не взята, инструмент уменьшает сторону и начинает подбор заново.
Коротко о цифрах
- Два рычага
- качество в пределах 25–95 и число пикселей без нижней границы
- Шаги уменьшения
- 0,7 длинной стороны — 49 % площади; 0,5 — 25 % площади
- Худший случай подбора
- 3 раунда по 7 кодирований = 21 проба
- Шкала целевого размера
- от 50 до 3000 КБ с шагом 50; отдельно выбирается предел длинной стороны
- Почему ступенями
- прямой переход с 4000 до 800 px берёт каждый пятый пиксель, половинные шаги усредняют
Когда двигать качество, а когда пиксели
- Картинку будут смотреть в оригинальном размере — работайте качеством, пиксели трогать нельзя.
- Картинка идёт в веб или в документ и всё равно будет отображаться мельче — уменьшайте сторону, это дешевле и незаметнее.
- Нужен конкретный вес, а качества не хватило — уменьшение стороны даёт вчетверо больший эффект, чем последние десять пунктов шкалы.
- Нужен только фрагмент кадра — обрежьте лишнее: убранные пиксели не стоят ничего, в отличие от сжатых.
Как устроен худший случай
- Первый раунд идёт на исходном размере: семь кодирований подбирают качество.
- Если ни одно не уложилось в цель, длинная сторона уменьшается до семи десятых и подбор повторяется.
- Если и это не дало результата, сторона уменьшается вдвое от исходной и идёт третий раунд.
- Итого не больше трёх раундов по семь кодирований — двадцать одна проба в самом тяжёлом сценарии.
- Из всех проб возвращается та, что уложилась в цель; если не уложилась ни одна — самая маленькая, и вам об этом скажут.
Почему уменьшение идёт ступенями
Одно уменьшение с четырёх тысяч пикселей до восьмисот берёт каждый пятый пиксель и выбрасывает остальные — тонкие детали превращаются в шум, а границы объектов начинают дрожать. Половинные шаги вместо этого усредняют соседние пиксели, и картинка сохраняет форму. Поэтому уменьшение идёт цепочкой: сначала вдвое, ещё вдвое, и только последний шаг попадает точно в нужный размер.
На вес это влияет косвенно, но заметно: чистая, не зашумлённая картинка кодируется в JPEG лучше, чем та же картинка с рваными краями. Хорошее уменьшение экономит байты само по себе, без снижения качества.
Частые вопросы
Что уменьшать первым — качество или размер?
Качество, пока картинку смотрят в полный размер. Как только изображение всё равно показывается мельче оригинала, выгоднее сразу убрать лишние пиксели.
Насколько падает вес при уменьшении стороны вдвое?
Площадь падает до четверти, и вес обычно следует за ней с поправкой на содержимое: гладкие участки экономят больше, мелкая фактура — меньше.
Почему инструмент отдал файл больше запрошенного?
Значит, цель не была достигнута ни в одном из раундов, и вернулась самая маленькая версия из полученных. Смягчите требование по весу, обрежьте кадр или задайте меньшую длинную сторону.
Портится ли JPG от простого пересохранения?
Да, каждое пересохранение — новое кодирование поверх старых артефактов. Именно поэтому файл, который уже укладывается в цель, инструмент возвращает нетронутым.