Как изменить размер и оптимизировать изображения из терминала Linux

Если вы пользователь Linux и предпочитаете терминал любым другим графическим приложениям, то вам будет приятно узнать, что вы также можете изменять размер, конвертировать и оптимизировать свои изображения прямо в терминале с помощью ImageMagick. ImageMagick — это набор инструментов для Linux, который позволяет вам манипулировать изображениями из командной строки. Это также процессор изображений, стоящий за многими графическими приложениями. Здесь мы покажем вам, как изменить размер ваших изображений из терминала.
Содержание
- Установка ImageMagick
- Просмотр информации об изображении
- Изменение размера изображений
- Изменение формата изображения
- Снижение качества изображения
- Поворот изображений
- Создание GIF-файла
- Добавление водяного знака к изображениям
- Удаление данных Exif из изображения
Также читайте: Как пакетно изменить размер изображений с помощью XnConvert
Установка ImageMagick
Перед тем как начать, нам сначала нужно установить ImageMagick на нашу систему.
На Ubuntu или любой дистрибутиве на базе Debian:
sudo apt install imagemagickНа Fedora:
sudo dnf install ImageMagickНа Arch Linux
sudo pacman -S imagemagickПросмотр информации об изображении
С установленным ImageMagick вы теперь можете использовать его для просмотра всей информации об изображении:
identify -verbose Например, чтобы проверить оригинальные размеры изображения, используйте следующую команду:
identify -format "%wx%h" 
Для фотографии вы также можете просмотреть данные Exif:
identify -verbose | grep exif Изменение размера изображений
Теперь давайте попробуем изменить его размер до 600X300px. Команда:
convert -resize 600x300 
Вы также можете изменить размер изображения до определенного процента. Например, чтобы уменьшить “Maketecheasier.png” на 50%, мы используем следующую команду:
convert -resize 50% Метод изменения размера здесь не ограничивается только уменьшением. Вы также можете использовать его для увеличения изображения. Например, чтобы удвоить размер изображения:
convert -resize 200% Если вы хотите перезаписать оригинальное изображение, вы можете использовать команду mogrify вместо этого. Она аналогична команде convert, но ее легче использовать, и она перезаписывает оригинальный файл.
mogrify -resize 400x200 Пакетное изменение размера всех изображений в папке
Вы можете легко изменить размер всех изображений в определенном каталоге. Это позволяет вам массово изменять размер изображений до определенных размеров. Например, в каталоге “Screenshots” есть пять изображений, и мы хотим уменьшить размер этих изображений на 50%. Поэтому мы выполним следующие команды:
cd ~/Screenshots
for img in *.jpg; do
convert -resize 50% "$img" "Resized_$img"; doneПримечание: Пожалуйста, измените формат изображения в приведенной выше команде, если вы работаете с любым другим форматом изображения, кроме JPG.

Изменение формата изображения
Если вы хотите изменить формат изображения, вам просто нужно изменить имя выходного файла на новый формат. Например, чтобы конвертировать “Maketecheasier.png” в “Maketecheasier.jpg”, используйте следующую команду:
convert Maketecheasier.png Maketecheasier.jpgСнижение качества изображения
Вы также можете изменить качество изображений с помощью ImageMagick. Например, когда вы делаете скриншот на своем компьютере, он обычно сохраняется в формате png в большом размере. Чтобы уменьшить размер, вы можете снизить качество скриншота и конвертировать его в jpg файл:
convert screenshot.png -quality 80 screenshot-new.jpgПоворот изображений
Чтобы повернуть изображения, вам просто нужно использовать опцию -rotate вместе с количеством градусов, на которое вы хотите повернуть изображение. Например, следующая команда создает “screenshot.jpg” с поворотом на 90 градусов:
convert screenshot.jpg -rotate 90 screenshot.jpgСоздание GIF-файла
Если у вас есть несколько jpg файлов и вы хотите создать анимированный GIF, ImageMagick может сделать это тоже. Все, что вам нужно сделать, это загрузить все jpg файлы для конвертации и вывести их как gif:
cd Screenshots
convert *.jpg animated.gifДобавление водяного знака к изображениям
Иногда вам может понадобиться добавить текст или логотип/графику к существующему изображению. Для этого вы используете опцию -append. В этом примере я добавляю панель в нижней части своего изображения с заметкой о содержимом.
convert tux.jpg -background Khaki label:'Это Тук!' -gravity Center -append tux_annotated.jpgУдаление данных Exif из изображения
В качестве меры конфиденциальности иногда полезно удалить все данные Exif из JPEG-фото. Вы можете сделать это с помощью команды mogrify:
mogrify -strip IMG_0123.JPGЧасто задаваемые вопросы
Поддерживается ли ImageMagick до сих пор?
Да, ImageMagick доступен с 1990-х годов и по-прежнему регулярно поддерживается. Новое стабильное обновление ImageMagick было выпущено 20 июня 2022 года, и этот набор инструментов имеет активные политики обновления для его улучшения с последними релизами.
Могу ли я изменить размер изображений без потери качества?
Нет, потому что изменение размера изображения всегда снижает его качество. Если вы уменьшаете размер изображения с 350px до 250px, изображение будет менее четким, когда его снова увеличат до оригинального размера.
Существует ли графическое приложение для ImageMagick?
ImageMagick в основном является инструментом командной строки, и разработчик не создал для него графический интерфейс. Однако есть много стороннего программного обеспечения, которое использует ImageMagick в качестве своего бэкенда. Один из примеров — FotoKilof.
Безопасен ли ImageMagick?
Изначально в ImageMagick были некоторые проблемы, связанные с безопасностью, но теперь его безопасно использовать. ImageMagick имеет строгую политику безопасности, чтобы сделать его более безопасным для пользователя. Разработчики также устранили ошибки, которые вызывали проблемы с конфиденциальностью.