Способы оплаты Abuse

Оптимизация PNG в Linux

29.11.2022, 21:46

В прошлой статье мы рассказали, как выполнить сжатие изображений в формате JPEG. Теперь расскажем как решить аналогичную задачу, но уже в отношении картинок с форматом PNG.

Особенности формата

PNG - весьма популярное расширение картинок. Формат был разработан в качестве замены GIF. Размер PNG картинок зачастую сильно отличается в разрезе глубины цвета, переплетений, а также в силу определенного алгоритма сжатия.

OptiPNG - уникальная консольная программа, с помощью которой удается выполнить сжатие картинок формата PNG. Все основные и второстепенные задачи можно реализовать при помощи OptiPNG. Сделать это можно так же быстро и без потери в качестве и в случае с картинками JPEG

Устанавливаем OptiPNG

Вы работаете в Ubuntu? Инсталлировать программу без особых проблем можно из репозитория. Нужно выполнить такую команду:

$ sudo apt install optipng

Сжимаем изображения при помощи OptiPNG

Синтаксис утилиты весьма простой. Он может быть выполнен так же, как и в случае с jpegoptim:

$ optipng file_name options.png

Рассмотрим опции утилиты:

  • -backup - сохранять копии измененных файлов;
  • -dir - папка для записи файлов;
  • -force - принудительная запись исходящего файла;
  • -out - записать исходящий файл в указанный;
  • -simulate - не выполнять никаких действий, а только показать результат;
  • - установить уровень сжатия от 0 до 7.

Выполним оптимизацию png. Узнаем сколько весит файл:

$ df -h image.png

Для сжатия файла используем:

$ optipng image.png

Смотрим размер, различий мы не видим, изображение совсем небольшое но при увеличении размера разница будет видна:

Сжатие png происходит без потери качества, вы получите такую же картинку, но меньшего размера. Следует обозначить степени оптимизации, влияющую на временные потери, связанные с выполнением программой оптимизации картинок. Степень ставят 0 до 7. Чем она выше, чем больше затрат по времени и ресурсам понадобится ПК.

$ optipng -o 7 impge.png

Пакетная обработка картинок выполняется аналогичным с jpeg:

$ cd images/

$ optipng *.png

На этом все, опять же, ничего сложного.