ImageMagick – это набор утилит командной строки для изменения и работы с изображениями. ImageMagick может быстро выполнять операции с изображением из терминала, выполнять пакетную обработку многих изображений или быть интегрированным в сценарий bash.
ImageMagick может выполнять самые разнообразные операции. Это руководство познакомит вас с синтаксисом и основными операциями ImageMagick и покажет, как объединять операции и выполнять пакетную обработку многих изображений.
Монтаж
ImageMagick не включен в стандартные установки Ubuntu и многих других дистрибутивов Linux. Чтобы установить его в Ubuntu, используйте следующую команду:
sudo apt-get install imagemagick
Преобразование между форматами
Команда convert берет изображение, выполняет над ним действия и сохраняет изображение с указанным вами именем файла. Одна из самых простых вещей, которые вы можете с этим сделать, – конвертация изображений между форматами. Следующая команда берет файл PNG с именем «howtogeek.png» в текущем каталоге и создает из него изображение JPEG:
convert howtogeek.png howtogeek.jpg
Вы также можете указать уровень сжатия для изображений JPEG:
convert howtogeek.png -quality 95 howtogeek.jpg
Число должно быть от 1 до 100. ImageMagick использует уровень качества входного изображения, если это возможно. Если нет, ImageMagick по умолчанию 92.
Изменение размера изображений
Команда convert также может быстро изменить размер изображения. Следующая команда просит ImageMagick изменить размер изображения до 200 пикселей по ширине и 100 пикселей по высоте:
convert example.png -resize 200x100 example.png
Мы использовали одно и то же имя файла, поэтому ImageMagick перезапишет исходный файл.
ImageMagick попытается сохранить соотношение сторон, если вы используете эту команду. Это изменит изображение, чтобы оно поместилось в пределах области 200 × 100, но изображение может быть не совсем 200 × 100. Если вы хотите, чтобы изображение стало определенного размера – даже если оно портит пропорции – добавьте восклицательный знак к размерам:
convert example.png -resize 200x100! example.png
Вы также можете указать конкретную ширину или высоту, и ImageMagick изменит размер изображения до этой ширины или высоты, сохранив соотношение сторон. Следующая команда изменит размер изображения до ширины 200:
convert example.png -resize 200 example.png
Следующая команда изменит размер изображения до высоты 100:
convert example.png -resize x100 example.png
Поворот изображения
ImageMagick может быстро повернуть изображение. Следующая команда берет изображение с именем howtogeek.jpg, поворачивает его на 90 градусов и сохраняет повернутое изображение как howtogeek-rotated.jpg:
convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg
Если вы указали одно и то же имя файла, ImageMagick сохранит повернутое изображение поверх исходного файла изображения.
Применение эффектов
ImageMagick может применять различные эффекты к изображению. Например, следующая команда применяет эффект «уголь» к изображению:
convert howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg
Команда «Древесный уголь» применяет к изображению художественный эффект «древесный уголь» – 2 в команде позволяет управлять силой эффекта.
Следующая команда применяет эффект «Implode» с силой 1:
convert howtogeek.jpg -implode 1 howtogeek-imploded.jpg
Эффект взрыва создает впечатление, будто в центре изображения есть черная дыра.
Объединение операций
Все эти операции могут быть объединены. С помощью одной команды вы можете изменить размер изображения, повернуть его, применить эффект и преобразовать его в другой формат:
convert howtogeek.png -resize 400x400 -rotate 180 - уголь 4 - качество 95 howtogeek.jpg
Это только начало того, что вы можете сделать с ImageMagick. Есть еще много операций, которые вы можете объединить.
Пакетная обработка
Вы можете воспользоваться Bash, чтобы быстро выполнить пакетную обработку многих изображений. Например, следующая команда будет брать все файлы PNG в текущем каталоге, поворачивать их и сохранять новую копию каждого с добавлением «rotated-» в начале каждого имени файла.
для файла в * .png; конвертировать $ file -rotate 90 rotated- $ file; Готово
Вы можете легко изменить эту команду для выполнения других действий.Вы также можете интегрировать команды пакетной обработки в сценарий оболочки Bash для автоматизации операций обработки изображений.
Любая статья в ImageMagick пропустит многое из того, что вы можете с ней сделать – слишком много опций и команд. Если вы хотите больше работать с ImageMagick, ознакомьтесь с официальной документацией на веб-сайте ImageMagick для более детального изучения ImageMagick.