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

На цьому все, знову ж таки, нічого складного.