При быстром росте ресурса бывает трудно уследить за правильной обработкой изображений: картинки загружаются как попало, что негативно влияет на скорость загрузки страниц и занимает лишнее место на сервере. Исправить такую ситуацию можно при помощи утилиты ImageMagick. Её инструментарий весьма обширен, но мы остановимся на самых важных моментах. Не будет лишним также напомнить, что перед началом обработки на всякий случай стоит сделать бэкап изображений.
- Устанавливаем пакет на рабочий сервер: sudo apt install ImageMagick (для пользователей CentOS используем yum вместо apt)
- Убеждаемся, что установка прошла успешно, выполняем команду identify -version и смотрим версию ImageMagick
За наиболее эффективный инструмент для уменьшения веса изображений возьмём понижение их качества-quality, установим качество в 50% от оригинального. Стоит учитывать, что ImageMagick не заточен под обработку png изображений, поэтому укажем ей, что работать нужно только с jpg изображениями -type f ( -name «*.jpg» -o -name «*.jpeg» ).
- Перемещаемся в директорию с изображениями и готовимся начать обработку, полная команда будет выглядеть так: find . -type f ( -name «*.jpg» -o -name «*.jpeg» ) -execdir mogrify -quality 50 {} +
- После завершения работы команды проверяем изображения. Программа должна была обработать в том числе и файлы во вложенных директориях
Обратите внимание: при копировании вышенаписанных команд следите, чтобы кавычки были простыми, а не фигурными.
Мы рассмотрели частный случай работы с понижением качества, однако инструментов очень много: для изменения размеров используется команда -resize, для обрезки есть -crop, для изменения формата существует -format и т.д. С полным списком всех возможностей ImageMagick можно ознакомиться в официальной документации.