В прошлой статье мы рассказали, как выполнить сжатие изображений в формате JPEG. Теперь расскажем как решить аналогичную задачу, но уже в отношении картинок с форматом PNG.
PNG - весьма популярное расширение картинок. Формат был разработан в качестве замены GIF. Размер PNG картинок зачастую сильно отличается в разрезе глубины цвета, переплетений, а также в силу определенного алгоритма сжатия.
OptiPNG - уникальная консольная программа, с помощью которой удается выполнить сжатие картинок формата PNG. Все основные и второстепенные задачи можно реализовать при помощи OptiPNG. Сделать это можно так же быстро и без потери в качестве и в случае с картинками JPEG.
Вы работаете в Ubuntu? Инсталлировать программу без особых проблем можно из репозитория. Нужно выполнить такую команду:
$ sudo apt install 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

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