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