Уменьшить изображение для сайта, convert и imagemagick

Уменьшить изображение для сайта может быть нужно с целью оптимизации скорости загрузки страниц ресурса. Доработка изображений является самой популярной рекомендацией Google Pagespeed Insights, чаще всего она заключается в уменьшении размера там, где это возможно.

 

 

Как уменьшить изображение для сайта в консоли Linux сервера

Некоторые сайты используют изображения размером в единицы и десятки мегабайт. Почти всегда это неоправдано и является одной из причин медленной загрузки страниц.

 

Выявив такие изображения можно уменьшить их размер, обычно двумя способами:

  1. скачать на компьютер, уменьшить в редакторе (Photoshop или GIMP), переименовать или удалить версию на сервере, закачать обратно
  2. изменять изображение прямо на рабочем сервере

 

Второй способ намного привлекательнее, поэтому будем использовать его. Потребуется пакет imagemagick, доступный в стандартных репозиториях Debian.

 

Устанавливаем пакет

apt-get update

apt-get install imagemagick

 

В состав пакета входит утилита convert, которая используется для конвертирования изображений. Она имеет очень большое количество опций и используется тем же GIMP

 

Самая простая операция, как раз, масштабирование.

Имея изображение pic.jpg указываем на него convert, далее нужны опции и имя файла на выходе.

convert pic.jpg -resize 90% pic.jpg

 

Если указать то же имя файла он будет перезаписан.

-resize 90% означает, что новое изображение будет иметь размер 90% от изначального.

 

Подобное перезаписывание позволяет быстро изменить размер картинок, предварительно все же имеет смысл сделать копию поскольку если потом так же увеличивать уменьшенное один раз изображение будет заметная потеря качества.