Способи оплати 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

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