В прошлой статье мы рассказали, как выполнить сжатие изображений в формате 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

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