ImageMagick — это программа для обработки изображений через командную строку. Ее главная идея не в том, чтобы пользователь вручную двигал ползунки, как в обычном фоторедакторе, а в том, чтобы точно описать операцию командой: открыть файл, изменить размер, обрезать, повернуть, удалить метаданные, наложить текст, собрать коллаж, сравнить две версии изображения или преобразовать сотни файлов в другой формат.

Программа особенно сильна там, где обычный графический интерфейс становится помехой: массовая конвертация PNG в JPG или WebP, подготовка картинок для сайта, генерация миниатюр, обработка пользовательских загрузок на сервере, автоматизация в скриптах, работа с большим количеством однотипных файлов. ImageMagick не пытается быть Photoshop или GIMP. Это другой тип инструмента: не ручная ретушь, а управляемая, повторяемая и хорошо автоматизируемая обработка изображений. Набор утилит ImageMagick включает magick, identify, mogrify, montage, compare, composite, display, import, stream и другие команды для разных задач.

ImageMagick удобно воспринимать как движок обработки изображений, к которому пользователь обращается текстовыми командами. Одна строка может заменить десятки ручных действий: открыть файл, повернуть его по EXIF-ориентации, уменьшить до нужного размера, убрать служебные профили, задать качество JPEG и сохранить результат под новым именем. При этом такую строку можно повторить для одного файла, целой папки, ночной задачи на сервере или пайплайна сборки сайта.

Простейший пример выглядит так:

magick input.jpg -auto-orient -resize 1600x1600 -strip -quality 85 output.jpg

В этой команде ImageMagick берет input.jpg, корректирует ориентацию, уменьшает изображение до рамки 1600×1600 пикселей, удаляет профили и комментарии, задает качество сохранения и записывает результат в output.jpg. Сама структура командной строки ImageMagick строится вокруг входных файлов, настроек, операторов обработки, операторов последовательностей и выходного файла.

Скачать ImageMagick

Оценка 9.7 Рекомендуем
  • Ретушь фото
  • Русский интерфейс
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
ImageMagick
Оценка 8.7
  • Только командная строка
  • Не для ретуши фото
  • Сложнее новичкам
Скачать ImageMagick
Загрузка начнётся после нажатия

Что такое ImageMagick

ImageMagick — это набор командных инструментов для создания, чтения, изменения, конвертации, анализа и композиции изображений. Программа работает с растровыми файлами, многостраничными документами, последовательностями кадров, GIF-анимацией, цветовым пространством, профилями, EXIF-данными, альфа-каналом, геометрией изображения и множеством форматов.

Основная рабочая команда — magick. Через нее выполняются типовые операции:

magick photo.png photo.jpgmagick photo.jpg -resize 1200x1200 result.jpgmagick photo.jpg -crop 800x600+100+50 crop.jpgmagick photo.jpg -strip clean.jpg

В старых инструкциях часто встречается команда convert, но в современных сценариях лучше использовать именно magick, потому что она явно относится к ImageMagick и не конфликтует с системными командами, особенно на Windows. В ImageMagick также поддерживаются подкоманды, совместимые с прежним стилем работы: magick identify, magick mogrify, magick montage, magick compare, magick composite, magick display, magick import.

Главное отличие ImageMagick от обычного редактора изображений — отсутствие обязательного визуального рабочего процесса. Пользователь не выбирает инструмент мышью, не открывает диалог Сохранить как и не применяет эффект через меню. Вместо этого он задает точное преобразование:

magick input.png -resize 50% output.png

Такая модель сначала кажется менее удобной, но в повторяемых задачах она заметно сильнее. Если нужно уменьшить 500 фотографий, обычный редактор превращается в рутину, а ImageMagick делает задачу одной командой или коротким скриптом.

Для каких задач подходит ImageMagick

ImageMagick нужен не только разработчикам. Его используют администраторы сайтов, контент-менеджеры, фотографы, дизайнеры, верстальщики, backend-разработчики и пользователи, которым нужно быстро привести большое количество файлов к единому виду.

Типичные задачи ImageMagick:

Задача Что делает ImageMagick Пример команды
Конвертация формата Переводит файл из PNG в JPG, WebP, TIFF, AVIF, GIF и другие форматы magick image.png image.jpg
Изменение размера Уменьшает изображение до заданной ширины, высоты или рамки magick photo.jpg -resize 1200x1200 out.jpg
Создание миниатюр Делает легкие thumbnails для сайта или каталога magick photo.jpg -thumbnail 300x300 thumb.jpg
Оптимизация Удаляет метаданные, задает качество, уменьшает вес файла magick photo.jpg -strip -quality 85 out.jpg
Обрезка Вырезает область по координатам magick photo.jpg -crop 800x600+100+50 out.jpg
Поворот Поворачивает изображение вручную или по EXIF magick photo.jpg -auto-orient out.jpg
Наложение текста Добавляет подпись, дату, копирайт, номер кадра magick photo.jpg -annotate +20+20 "Text" out.jpg
Водяной знак Накладывает PNG-логотип поверх изображения magick photo.jpg logo.png -composite out.jpg
Коллаж Собирает контакт-лист или сетку превью magick montage *.jpg gallery.jpg
Сравнение Создает карту различий между двумя изображениями magick compare old.png new.png diff.png
GIF Разбирает анимацию на кадры или собирает GIF из кадров magick frame_*.png animation.gif

ImageMagick хорошо подходит для работы с графикой на сайте: можно автоматически создавать превью после загрузки изображения, ограничивать максимальный размер, переводить картинки в WebP, удалять EXIF, генерировать OG-картинки, делать квадратные аватары, формировать каталожные карточки товаров и проверять различия между версиями интерфейсных скриншотов.

Форматы изображений

ImageMagick работает с большим количеством форматов, но фактическая поддержка конкретного формата зависит от сборки и установленных библиотек. Это особенно важно для HEIC, AVIF, PDF, SVG, RAW и некоторых профессиональных форматов: сама команда может быть правильной, но если нужный delegate отсутствует, операция завершится ошибкой. Проверка поддерживаемых форматов выполняется командой magick identify -list format.

Чаще всего ImageMagick используют с такими форматами:

Формат Практическое применение
JPEG / JPG Фото, изображения для сайтов, сжатие с потерями
PNG Скриншоты, графика с прозрачностью, интерфейсные элементы
WebP Современные изображения для сайтов, уменьшение веса
GIF Простая анимация, извлечение и сборка кадров
TIFF Печать, сканирование, архивные изображения
BMP Старые Windows-сценарии, простая растровая графика
HEIC / HEIF Фото с мобильных устройств, при наличии поддержки
AVIF Современное сжатие изображений, при наличии поддержки
PDF Рендеринг страниц в изображения, при наличии Ghostscript/делегатов
SVG Растеризация в PNG/JPEG, при наличии нужных библиотек
PSD Открытие некоторых Photoshop-файлов, не замена Photoshop
EXR HDR-графика и профессиональные пайплайны
JP2 / JPEG 2000 Архивы, сканы, специализированные системы

Важно понимать: ImageMagick — не просто конвертер расширений. Он читает изображение, интерпретирует пиксели, цветовое пространство, профили, каналы, альфу и только затем записывает результат. Поэтому команда magick image.png image.jpg не переименовывает файл, а реально перекодирует его в другой формат.

Первый запуск и проверка работы

После установки ImageMagick проверяют через терминал, PowerShell или командную строку. Базовая проверка:

magick -version

Команда показывает, что ImageMagick доступен из командной строки, а также выводит сведения о сборке, глубине цвета, HDRI, OpenMP и подключенных delegate-библиотеках. Для практической проверки можно создать тестовое изображение из встроенного псевдоформата:

magick logo: logo.png

После этого полезно посмотреть параметры полученного файла:

magick identify logo.png

identify выводит краткую информацию: формат, размер, цветовую модель, глубину и другие характеристики. Для более подробного анализа используется:

magick identify -verbose logo.png

identify -verbose нужен, когда требуется увидеть EXIF, профили, цветовое пространство, каналы, статистику, глубину, компрессию и служебные свойства изображения.

ImageMagick в окне IMDisplay для Windows

В Windows у ImageMagick может быть графический просмотрщик IMDisplay. На скриншоте видно меню File, Edit, View, Transform, Window, Help, панель с иконками открытия, сохранения, печати и справки, а также область просмотра изображения с полосами прокрутки. Это не полноценный редактор уровня GIMP, но удобный дополнительный просмотрщик для базовой работы с изображениями.

Интерфейс ImageMagick

Основной интерфейс ImageMagick — командная строка. Пользователь работает не с кнопкой ресайза, а с оператором -resize; не с диалогом качество JPEG, а с параметром -quality; не с инструментом рамка кадрирования, а с геометрией -crop.

Команда обычно состоит из четырех частей:

magick input.jpg -resize 1200x1200 -quality 85 output.jpg

Разбор:

Часть команды Значение
magick запуск ImageMagick
input.jpg входной файл
-resize 1200x1200 операция изменения размера
-quality 85 качество сохранения
output.jpg выходной файл

В ImageMagick важен порядок аргументов. Настройки и операторы применяются там, где они стоят в командной строке. Например, при работе с PDF параметр -density обычно ставят перед входным файлом:

magick -density 200 document.pdf page.png

Так ImageMagick получает нужное разрешение до растеризации PDF-страницы, а не после нее. Параметр -density задает горизонтальное и вертикальное разрешение при рендеринге в растровое изображение, включая векторные форматы и PDF.

IMDisplay и display

У ImageMagick есть графический просмотр через display и Windows-приложение IMDisplay. Команда magick display rose.jpg открывает изображение на X server, поэтому она особенно характерна для Unix/Linux-среды. display умеет показывать одиночные изображения и последовательности, отображать визуальный каталог JPEG-файлов через vid:*.jpg, задавать окно, плотность, фон и другие параметры.

В IMDisplay доступны меню:

  • File — операции с файлом;

  • Edit — отмена, копирование, вставка, выделение;

  • View — просмотр;

  • Transform — поворот, отражение, сдвиг, обрезка;

  • Window — управление окнами;

  • Help — справка.

Для обычной пакетной обработки IMDisplay не нужен. Он полезен как визуальное дополнение, но сила ImageMagick раскрывается именно в командах.

Основные команды ImageMagick

magick

magick — центральная команда. Она конвертирует форматы, меняет размер, кадрирует, поворачивает, объединяет изображения, применяет фильтры, рисует текст и сохраняет результат.

Примеры:

magick input.png output.jpgmagick input.jpg -resize 50% output.jpgmagick input.jpg -rotate 90 output.jpgmagick input.jpg -colorspace Gray output.jpg

magick чаще всего безопаснее использовать для одиночных преобразований, потому что результат явно записывается в новый файл. Если входной и выходной файл разные, исходник остается на месте.

identify

identify описывает изображение. Команда полезна до обработки, после обработки и при диагностике проблем.

magick identify photo.jpg

Пример вывода может показывать:

photo.jpg JPEG 4032x3024 4032x3024+0+0 8-bit sRGB

Подробный режим:

magick identify -verbose photo.jpg

Он помогает понять, почему файл ведет себя необычно: есть ли EXIF-ориентация, цветовой профиль, альфа-канал, нестандартное цветовое пространство, лишние комментарии или встроенные профили.

mogrify

mogrify — инструмент пакетной обработки. Его главное отличие: он изменяет файлы на месте, если не указать другой путь или формат. Это мощно, но рискованно.

magick mogrify -resize 1600x1600 *.jpg

Эта команда изменит все JPG-файлы в текущей папке. Поэтому безопаснее сначала работать с копиями или указывать отдельную папку вывода:

mkdir outputmagick mogrify -path output -resize 1600x1600 *.jpg

Конвертация через mogrify:

magick mogrify -path output -format webp -quality 82 *.png

В этом варианте исходные PNG остаются в папке, а WebP-копии создаются в output.

montage

montage создает контакт-листы, сетки, галереи, коллажи и листы предпросмотра. Он берет несколько изображений и раскладывает их на одном полотне. Команда поддерживает рамки, подписи, отступы, фон, тени, размеры плиток и количество строк/столбцов.

magick montage *.jpg -thumbnail 220x220 -geometry +8+8 gallery.jpg

С подписями:

magick montage -label '%f' *.jpg -thumbnail 180x180 -geometry +6+6 contact-sheet.jpg

%f подставляет имя файла. Это удобно для визуального контроля папок с изображениями.

compare

compare строит визуальную карту различий между двумя изображениями:

magick compare old.png new.png diff.png

Для автоматических проверок используют метрики:

magick compare -metric RMSE old.png new.png null:

Так можно сравнивать скриншоты интерфейса, результаты экспорта, сжатые и несжатые версии, изображения до и после обработки.

composite

composite накладывает одно изображение на другое:

magick composite watermark.png photo.jpg result.jpg

Но в современных командах часто используют общий синтаксис через magick:

magick photo.jpg watermark.png -gravity SouthEast -geometry +20+20 -composite result.jpg

Здесь photo.jpg — основа, watermark.png — накладываемый логотип, -gravity SouthEast ставит его в правый нижний угол, -geometry +20+20 задает отступ.

import

import делает скриншоты в X11-среде:

magick import screenshot.png

Команда может захватывать окно, экран или прямоугольную область. Это полезно в Linux-сценариях, где нужно быстро снять скриншот и сразу обработать его через ImageMagick.

stream

stream работает с пиксельными компонентами построчно. Это специализированный инструмент для задач, где нужно читать изображение как поток данных, не загружая всю структуру обычным способом. Он полезен для больших изображений и низкоуровневых сценариев обработки.

Конвертация изображений

Конвертация — одна из самых частых причин использовать ImageMagick. Программа определяет формат не только по расширению, но и по внутренней сигнатуре файла. В простом случае достаточно указать входной и выходной файл:

magick image.png image.jpg

PNG в JPG

magick image.png image.jpg

При переводе PNG в JPG нужно помнить, что JPEG не поддерживает прозрачность. Если в PNG есть альфа-канал, прозрачные области могут стать черными или получить неожиданный фон. Надежнее заранее задать фон и убрать альфу:

magick image.png -background white -alpha remove -alpha off image.jpg

Так прозрачность заменяется белым фоном.

JPG в PNG

magick photo.jpg photo.png

Такой перевод не возвращает потерянное качество JPEG. PNG сохранит текущий вид без дополнительных JPEG-потерь, но размер файла может стать больше.

JPG в WebP

magick photo.jpg -quality 82 photo.webp

WebP часто используют для сайта: он может дать меньший размер при сопоставимом визуальном качестве. Параметр -quality управляет компромиссом между весом и качеством для JPEG, HEIC и WebP; для PNG он управляет параметрами zlib-компрессии, но PNG остается lossless-форматом.

PNG в WebP

magick image.png -quality 80 image.webp

Для изображений с прозрачностью WebP может сохранить альфа-канал:

magick icon.png -quality 90 icon.webp

TIFF в JPEG

magick scan.tif -quality 90 scan.jpg

Для сканов часто добавляют изменение размера или перевод в оттенки серого:

magick scan.tif -colorspace Gray -quality 88 scan.jpg

PDF в PNG

magick -density 200 document.pdf page.png

Если PDF многостраничный, ImageMagick создаст последовательность файлов:

magick -density 200 document.pdf page-%03d.png

%03d дает нумерацию page-000.png, page-001.png, page-002.png. Для рендеринга PDF важны настройки безопасности и наличие нужных delegate-библиотек. В серверных сценариях PDF нельзя обрабатывать без ограничений, потому что это более рискованный формат, чем обычный JPEG или PNG.

Явное указание формата

Иногда формат нужно указать явно:

magick input.jpg PNG32:output.png

PNG32: принудительно задает PNG с RGBA-каналами. Такой стиль полезен, когда расширения недостаточно или требуется конкретный вариант кодера.

Изменение размера изображений

Оператор -resize — один из ключевых в ImageMagick. Он меняет размер изображения по заданной геометрии. Базовый вариант:

magick photo.jpg -resize 1200x1200 output.jpg

Это не означает сделать строго 1200×1200. ImageMagick вписывает изображение в рамку 1200×1200 с сохранением пропорций. Если исходное фото горизонтальное, ширина станет 1200, а высота будет меньше. Если вертикальное — высота станет 1200, а ширина будет меньше.

Изменить ширину

magick photo.jpg -resize 1200x output.jpg

Высота рассчитывается автоматически.

Изменить высоту

magick photo.jpg -resize x800 output.jpg

Ширина рассчитывается автоматически.

Изменить в процентах

magick photo.jpg -resize 50% output.jpg

Так удобно быстро уменьшить изображение в два раза.

Принудительный размер без сохранения пропорций

magick photo.jpg -resize 1200x800! output.jpg

Восклицательный знак заставляет ImageMagick сделать ровно 1200×800. Это может исказить изображение, поэтому такой режим нужен только для технических задач, где пропорции не важны.

Уменьшить только большие изображения

magick photo.jpg -resize 1600x1600\> output.jpg

Символ > означает: уменьшать только если изображение больше заданной рамки. В оболочке Linux его нужно экранировать или брать в кавычки:

magick photo.jpg -resize '1600x1600>' output.jpg

Увеличить только маленькие изображения

magick photo.jpg -resize '1600x1600<' output.jpg

Символ < означает: увеличивать только если изображение меньше заданной рамки.

Миниатюры через thumbnail

Для превью лучше использовать -thumbnail:

magick photo.jpg -thumbnail 300x300 thumb.jpg

-thumbnail похож на -resize, но оптимизирован для создания миниатюр, удаляет комментарии и цветовые профили, а также выставляет thumbnail-свойства.

Окно IMDisplay после изменения ориентации изображения

Визуально результат поворота, изменения масштаба или сдвига можно проверить через IMDisplay. Но при массовой обработке удобнее проверять итоговые файлы через identify и выборочно открывать несколько результатов.

Обрезка, поворот и ориентация

Обрезка по координатам

Оператор -crop вырезает область изображения:

magick photo.jpg -crop 800x600+100+50 output.jpg

Геометрия читается так:

Часть Значение
800 ширина области
600 высота области
+100 смещение от левого края
+50 смещение от верхнего края 

После -crop часто добавляют +repage, чтобы убрать виртуальное смещение холста:

magick photo.jpg -crop 800x600+100+50 +repage output.jpg

Это особенно важно для PNG и форматов, которые могут хранить offset.

Квадратный кроп из центра

magick photo.jpg -resize 800x800^ -gravity center -crop 800x800+0+0 +repage avatar.jpg

Здесь:

  • -resize 800x800^ масштабирует изображение так, чтобы оно полностью перекрыло квадрат 800×800;

  • -gravity center выбирает центр;

  • -crop 800x800+0+0 вырезает квадрат;

  • +repage очищает смещение.

Это типовая команда для аватаров, карточек товаров, обложек и превью.

Поворот

magick photo.jpg -rotate 90 output.jpg

Для поворота в другую сторону:

magick photo.jpg -rotate -90 output.jpg

Поворот на 180 градусов:

magick photo.jpg -rotate 180 output.jpg

Автоориентация по EXIF

magick photo.jpg -auto-orient output.jpg

-auto-orient читает EXIF-поле Orientation, поворачивает изображение для нормального просмотра и сбрасывает ориентационную метку. Если EXIF-профиль уже удален, оператору нечего читать, и он не изменит ориентацию.

Правильный порядок для фотографий с камеры:

magick photo.jpg -auto-orient -resize 1600x1600 -strip -quality 85 output.jpg

Сначала ориентация, потом изменение размера, затем удаление метаданных.

Отражение

Вертикальное отражение:

magick photo.jpg -flip output.jpg

Горизонтальное отражение:

magick photo.jpg -flop output.jpg

Удаление пустых краев

magick screenshot.png -trim +repage trimmed.png

-trim обрезает однотонные края. Это удобно для скриншотов, отсканированных изображений, экспортов с лишними полями.

Сжатие и оптимизация

ImageMagick часто используют для уменьшения веса файлов. Важно отличать два типа оптимизации:

  1. Визуальная компрессия — снижение качества JPEG/WebP/HEIC.

  2. Служебная очистка — удаление EXIF, профилей, комментариев и ненужных PNG-chunks.

JPEG

magick photo.jpg -strip -quality 85 output.jpg

-quality 85 часто дает хороший баланс между качеством и размером. Для фотографий на сайт диапазон 80–88 обычно практичен, но итог зависит от конкретного изображения. -strip удаляет профили, комментарии и служебные данные; для PNG он также убирает ряд chunks, включая EXIF, gAMA, iCCP, text-chunks и другие.

Более аккуратный вариант с автоориентацией:

magick photo.jpg -auto-orient -resize 1920x1920 -strip -quality 85 output.jpg

WebP

magick photo.jpg -quality 82 output.webp

Для WebP можно делать пакетные копии:

mkdir webpmagick mogrify -path webp -format webp -quality 82 *.jpg

PNG

PNG — формат без потерь, поэтому -quality не работает так же, как у JPEG. Для PNG это управление zlib-компрессией и фильтрами. Более точный вариант:

magick image.png -strip -define png:compression-level=9 output.png

Но ImageMagick не всегда является лучшим специализированным PNG-оптимизатором. Для максимального сжатия PNG иногда используют отдельные инструменты, а ImageMagick оставляют для ресайза, удаления метаданных, изменения цветового пространства и пакетной автоматизации.

Удаление метаданных

magick photo.jpg -strip clean.jpg

Команда удаляет профили и комментарии. Это полезно для публикации изображений в интернете, когда нужно убрать EXIF с моделью камеры, временем съемки, GPS-данными и служебной информацией.

Если нужно сначала посмотреть метаданные:

magick identify -verbose photo.jpg

Для цветовых профилей нужно быть осторожным: -strip может убрать ICC-профиль. Иногда это хорошо, если все изображения заранее приведены к sRGB. Но если файл в CMYK или с важным профилем печати, простое удаление профиля может испортить цветовой результат.

Работа с цветом и профилями

ImageMagick умеет работать с цветовыми пространствами и профилями. Базовая команда для перевода в оттенки серого:

magick photo.jpg -colorspace Gray gray.jpg

Перевод в sRGB:

magick input.tif -colorspace sRGB output.jpg

Проверить цветовое пространство:

magick identify -verbose image.jpg

Или вывести только значение:

magick image.jpg -print "%[colorspace]\n" null:

Цветовое пространство важно при ресайзе и фильтрации. Многие алгоритмы обработки корректнее работают в линейном RGB, а большинство обычных JPEG и PNG — в sRGB. ImageMagick позволяет явно управлять этим, но для повседневной подготовки изображений к сайту обычно достаточно держать единый pipeline: -auto-orient, -resize, -strip, -quality.

Работа с ICC-профилями выполняется через -profile и +profile. Через magick identify -verbose можно посмотреть, какие профили есть в файле; -strip удаляет все профили и комментарии.

Пример конвертации CMYK в RGB с профилями:

magick input-cmyk.tif -profile CMYK.icc -profile sRGB.icc output-rgb.jpg

Это уже профессиональный сценарий: профили должны соответствовать реальному происхождению файла. Нельзя механически подставлять случайный ICC-профиль и ожидать корректного цвета.

Наложение текста и подписей

ImageMagick умеет добавлять текст через -annotate и -draw. Для простых подписей удобнее -annotate:

magick photo.jpg -gravity SouthEast -pointsize 32 -fill white -annotate +30+30 "example.com" output.jpg

Разбор:

Параметр Значение
-gravity SouthEast привязка к правому нижнему углу
-pointsize 32 размер текста
-fill white цвет заливки текста
-annotate +30+30 "example.com" текст с отступом 30 пикселей

-annotate добавляет текст на изображение; если нужно более точное управление графическими примитивами, используют -draw.

Текст в левом верхнем углу

magick photo.jpg -gravity NorthWest -pointsize 28 -fill white -annotate +20+20 "Sample" output.jpg

Текст с подложкой

Чтобы текст был читаемым на любом фоне, можно нарисовать полупрозрачный прямоугольник и затем текст:

magick photo.jpg \  -fill "rgba(0,0,0,0.45)" -draw "rectangle 20,20 420,80" \  -fill white -pointsize 32 -draw "text 40,62 'example.com'" \  output.jpg

Подпись с использованием шрифта

magick photo.jpg -font Arial -pointsize 36 -fill white -gravity South -annotate +0+40 "Catalog 2026" output.jpg

Шрифт должен быть доступен системе. Проверить список шрифтов можно так:

magick -list font

Водяные знаки

Водяной знак чаще всего накладывают из PNG с прозрачностью:

magick photo.jpg watermark.png -gravity SouthEast -geometry +20+20 -composite output.jpg

Если нужно изменить размер водяного знака перед наложением:

magick photo.jpg \( watermark.png -resize 180x180 \) -gravity SouthEast -geometry +20+20 -composite output.jpg

В Windows PowerShell скобки экранируются иначе, поэтому проще подготовить watermark заранее:

magick watermark.png -resize 180x180 watermark-small.pngmagick photo.jpg watermark-small.png -gravity SouthEast -geometry +20+20 -composite output.jpg

Для полупрозрачного водяного знака:

magick watermark.png -alpha set -channel A -evaluate multiply 0.45 +channel watermark-45.pngmagick photo.jpg watermark-45.png -gravity SouthEast -geometry +20+20 -composite output.jpg

Такой подход дает контроль над прозрачностью и положением.

Коллажи, контакт-листы и галереи через montage

montage — одна из самых полезных утилит ImageMagick для визуального контроля большого набора изображений. Она создает сетку из файлов, добавляет рамки, подписи, фон, отступы, тени и заголовки.

Простой контакт-лист:

magick montage *.jpg -thumbnail 180x180 -geometry +6+6 gallery.jpg

С подписями файлов:

magick montage -label '%f' *.jpg -thumbnail 160x160 -geometry +8+8 gallery.jpg

С рамкой:

magick montage -label '%f' *.jpg -thumbnail 160x160 -frame 5 -geometry +8+8 gallery.jpg

С заданным числом колонок:

magick montage *.jpg -thumbnail 160x160 -tile 5x -geometry +8+8 gallery.jpg

-tile 5x означает пять колонок, а количество строк ImageMagick рассчитает по числу изображений. Параметр -geometry задает размер миниатюр и отступы между плитками. В montage это один из главных управляющих параметров.

Где это полезно:

  • проверка папки с товарами;

  • быстрый просмотр результатов генерации;

  • визуальная сверка кадров;

  • создание proof sheet для фотографий;

  • сборка иллюстраций для отчета;

  • контроль датасета изображений;

  • подготовка превью архива.

montage не заменяет дизайнерскую верстку, но для технических листов предпросмотра он удобнее ручной сборки.

GIF и последовательности изображений

ImageMagick умеет работать с последовательностями кадров. Это удобно для GIF, многостраничных файлов и наборов изображений.

Собрать GIF из кадров

magick -delay 8 -loop 0 frame_*.png animation.gif

Где:

  • -delay 8 — задержка между кадрами в сотых долях секунды;

  • -loop 0 — бесконечное повторение;

  • frame_*.png — входные кадры;

  • animation.gif — результат.

Разобрать GIF на кадры

magick animation.gif frame_%03d.png

Разобрать GIF корректно через coalesce

magick animation.gif -coalesce frame_%03d.png

-coalesce полностью формирует вид каждого кадра GIF-анимации, превращая оптимизированную последовательность в полные кадры. Это важно, потому что GIF часто хранит не каждый кадр целиком, а только изменившиеся области.

Изменить размер GIF

magick animation.gif -coalesce -resize 480x480 -layers Optimize resized.gif

Команда сначала раскрывает кадры, затем меняет размер и оптимизирует слои обратно.

Извлечь первый кадр

magick animation.gif[0] first-frame.png

Квадратные скобки позволяют выбрать конкретный кадр или диапазон:

magick animation.gif[0-9] frames_%02d.png

Сравнение изображений

compare нужен для задач, где важно увидеть разницу между двумя изображениями. Например, есть исходный PNG и сжатый WebP; нужно понять, где появились артефакты. Или есть скриншот интерфейса до изменения CSS и после; нужно проверить, не съехала ли верстка.

Простое сравнение:

magick compare original.png changed.png diff.png

С метрикой:

magick compare -metric RMSE original.png changed.png null:

Пример для CI-проверки:

magick compare -metric AE expected.png actual.png diff.png

AE считает абсолютное количество отличающихся пикселей. Если задача — визуальная регрессия интерфейса, это может быть полезнее, чем на глаз.

Сравнение удобно в таких сценариях:

  • тестирование скриншотов интерфейса;

  • контроль качества экспорта;

  • проверка отличий после оптимизации;

  • сравнение рендера PDF;

  • поиск изменений в сгенерированной графике;

  • контроль обработки изображений в автоматическом pipeline.

Пакетная обработка

ImageMagick особенно полезен при пакетной обработке. Один файл можно обработать в любом редакторе. Сто файлов — уже неприятно. Тысячу файлов вручную обрабатывать бессмысленно.

Пакетное уменьшение JPG

magick mogrify -path output -resize 1600x1600 -quality 85 *.jpg

Команда берет все .jpg в текущей папке, уменьшает их до рамки 1600×1600 и сохраняет в папку output.

Конвертация всех PNG в WebP

magick mogrify -path webp -format webp -quality 82 *.png

Создание миниатюр

magick mogrify -path thumbs -thumbnail 300x300 *.jpg

Перед запуском нужно создать папки:

mkdir outputmkdir webpmkdir thumbs

Bash-цикл с контролем имен

mkdir -p outfor file in *.jpg; do  magick "$file" -auto-orient -resize 1600x1600 -strip -quality 85 "out/${file%.*}.jpg"done

Такой вариант удобен, когда нужно управлять выходными именами, расширениями и последовательностью операций.

PowerShell-цикл

New-Item -ItemType Directory -Force -Path outGet-ChildItem *.jpg | ForEach-Object {  magick $_.FullName -auto-orient -resize 1600x1600 -strip -quality 85 "out/$($_.BaseName).jpg"}

PowerShell удобен на Windows, особенно если пути содержат пробелы. Главное — всегда брать сложные пути в кавычки.

Безопасный принцип работы

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

  1. Сделать копию нескольких файлов.

  2. Проверить команду на 3–5 изображениях.

  3. Открыть результат.

  4. Проверить вес, размер и качество.

  5. Запустить на всей папке.

  6. Хранить оригиналы отдельно.

Особенно осторожно нужно использовать mogrify, потому что он может перезаписать исходники. В отличие от обычного magick, который чаще пишет в новый файл, mogrify по своей природе предназначен для изменения набора файлов.

Практические сценарии

Подготовить фото для сайта

magick input.jpg -auto-orient -resize 1600x1600 -strip -quality 85 output.jpg

Что делает команда:

  • корректирует ориентацию;

  • ограничивает максимальный размер;

  • удаляет лишние метаданные;

  • задает приемлемое качество JPEG;

  • сохраняет готовый файл.

Это базовая команда для контента, карточек статей, галерей и блогов.

Создать WebP-копию для сайта

magick input.jpg -auto-orient -resize 1600x1600 -strip -quality 82 output.webp

Для папки:

mkdir webpmagick mogrify -path webp -format webp -auto-orient -resize 1600x1600 -strip -quality 82 *.jpg

Сделать квадратный аватар

magick portrait.jpg -auto-orient -resize 600x600^ -gravity center -crop 600x600+0+0 +repage avatar.jpg

Так ImageMagick сохраняет пропорции, заполняет квадрат и обрезает лишнее из центра.

Сделать миниатюру без лишних данных

magick photo.jpg -auto-orient -thumbnail 300x300 thumb.jpg

-thumbnail хорошо подходит для небольших превью, потому что он оптимизирован именно под эту задачу.

Убрать EXIF перед публикацией

magick photo.jpg -strip clean.jpg

Если изображение снято на телефон, EXIF может содержать дату, модель устройства и иногда координаты. Перед публикацией в публичном доступе удаление метаданных часто разумно.

Добавить подпись в угол

magick photo.jpg -gravity SouthEast -pointsize 32 -fill white -annotate +30+30 "example.com" signed.jpg

Для лучшей читаемости можно добавить тень:

magick photo.jpg \  -gravity SouthEast \  -pointsize 32 \  -fill black -annotate +32+32 "example.com" \  -fill white -annotate +30+30 "example.com" \  signed.jpg

Создать контакт-лист папки

magick montage -label '%f' *.jpg -thumbnail 180x180 -geometry +8+8 contact.jpg

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

Сравнить две версии изображения

magick compare before.png after.png diff.png

Если нужно получить числовую метрику:

magick compare -metric RMSE before.png after.png null:

Сжать скриншоты

magick screenshot.png -strip -define png:compression-level=9 screenshot-optimized.png

Для WebP:

magick screenshot.png -quality 85 screenshot.webp

Подготовить изображения каталога

mkdir catalogmagick mogrify -path catalog \  -auto-orient \  -resize 1200x1200 \  -background white \  -alpha remove \  -alpha off \  -strip \  -quality 88 \  *.png

Так можно привести изображения товаров к единой логике: белый фон, ограниченный размер, удаленные метаданные, стабильное качество.

Работа на сервере и в автоматизации

ImageMagick часто используют в серверных задачах. Например, пользователь загружает изображение на сайт, а сервер автоматически создает несколько версий:

  • оригинал сохраняется отдельно;

  • большая версия ограничивается по размеру;

  • средняя версия идет в карточку;

  • маленькая миниатюра идет в список;

  • WebP-версия используется для ускорения загрузки;

  • EXIF удаляется;

  • изображение проверяется по размеру и формату.

Пример такой логики:

magick upload.jpg -auto-orient -resize 1920x1920 -strip -quality 86 large.jpgmagick upload.jpg -auto-orient -resize 900x900 -strip -quality 84 medium.jpgmagick upload.jpg -auto-orient -thumbnail 300x300 thumb.jpgmagick upload.jpg -auto-orient -resize 1200x1200 -strip -quality 82 image.webp

В backend-проектах ImageMagick применяют через shell-команды, библиотеки-обертки или API на уровне языка программирования. Но независимо от обертки внутри часто остается та же логика: входной файл, цепочка операторов, выходной файл.

ImageMagick удобен для:

  • CMS;

  • генераторов статических сайтов;

  • CI/CD;

  • Docker-контейнеров;

  • автоматической генерации превью;

  • массовой миграции изображений;

  • обработки архивов;

  • подготовки изображений к CDN;

  • визуальных regression-тестов;

  • генерации Open Graph-картинок.

Но серверный сценарий требует большей дисциплины, чем локальная обработка своих файлов. Нельзя давать ImageMagick бесконтрольно обрабатывать любые файлы без ограничений по памяти, времени, размеру и разрешенным форматам.

Безопасность ImageMagick

ImageMagick мощный, а значит его нужно правильно ограничивать в средах, где обрабатываются чужие файлы. Для домашней пакетной конвертации риск один. Для публичного веб-сервера, куда пользователи загружают неизвестные PDF, SVG, HEIC или огромные TIFF, риск совсем другой.

Главный механизм ограничений — policy.xml. Через него задают:

  • лимиты памяти;

  • лимиты диска;

  • максимальную ширину и высоту изображения;

  • максимальное время выполнения;

  • допустимые пути чтения и записи;

  • разрешенные и запрещенные coders;

  • ограничения delegate-библиотек;

  • запрет чтения из чувствительных путей;

  • запрет косвенного чтения через @file.

ImageMagick намеренно удобен и гибок, но для безопасного использования в локальной среде, Docker-контейнере или серверном приложении нужно задавать политику под конкретный сценарий. В политике можно ограничивать чтение и запись только web-safe форматами вроде GIF, JPEG и PNG, а также управлять памятью, диском, временем выполнения и доступом к coders.

Проверить ресурсы можно так:

magick identify -list resource

Пример локального ограничения в команде:

magick -limit memory 256MiB -limit disk 1GiB input.jpg -resize 1600x1600 output.jpg

На сервере лучше не полагаться только на параметры команды. Надежнее задавать ограничения в policy.xml, запускать обработку в изолированной среде и отдельно валидировать входные файлы до передачи их ImageMagick.

Практические правила:

Правило Зачем нужно
Ограничивать размеры изображений Защита от файлов, которые разворачиваются в огромный bitmap
Ограничивать память и диск Защита от зависания и переполнения временного хранилища
Ограничивать время Защита от долгих операций
Запрещать ненужные coders Чем меньше разрешено, тем меньше поверхность риска
Осторожно работать с PDF/SVG/PS Эти форматы сложнее и рискованнее обычных JPEG/PNG
Хранить временные файлы отдельно Проще контролировать очистку и права доступа
Не обрабатывать чужие файлы от имени привилегированного пользователя Ошибка не должна давать доступ к системе

ImageMagick не опасен сам по себе для обычного локального ресайза фотографий. Опасна неправильная интеграция: публичная загрузка файлов, отсутствие ограничений, запуск с лишними правами и разрешение сложных форматов без необходимости.

Производительность

Производительность ImageMagick зависит от размера файла, формата, операции, глубины цвета, HDRI, доступной памяти, диска, числа потоков и delegate-библиотек. Простая конвертация JPEG в WebP может идти быстро, а обработка огромного TIFF или PDF с большим разрешением может упереться в память и временный диск.

Внутри ImageMagick используется pixel cache. Он дает доступ к пикселям изображения и может храниться в памяти, memory-mapped области или на диске. Когда изображение слишком большое для памяти, ImageMagick переносит пиксельный кэш на диск, и операция становится заметно медленнее. Архитектура pixel cache позволяет работать с разными форматами, каналами, глубиной и последовательностями изображений, но за универсальность приходится платить расходом ресурсов.

Что влияет на скорость

Фактор Влияние
Размер изображения Чем больше пикселей, тем больше память и время
Формат JPEG, PNG, TIFF, WebP и PDF декодируются по-разному
Операция -resize проще, чем сложные фильтры, морфология или сравнение
Q8/Q16/HDRI Большая глубина требует больше памяти
Диск При уходе pixel cache на диск скорость падает
Потоки Некоторые операции хорошо используют несколько ядер
Delegate-библиотеки PDF, SVG, HEIC, AVIF зависят от внешних компонентов

Как ускорить типовые операции

Для миниатюр использовать -thumbnail:

magick input.jpg -thumbnail 300x300 thumb.jpg

Не растеризовать PDF с чрезмерным -density:

magick -density 150 document.pdf page.png

Не обрабатывать оригиналы с огромным разрешением без лимитов:

magick -limit memory 512MiB -limit disk 2GiB huge.tif -resize 1600x1600 out.jpg

Сначала уменьшать размер, потом применять тяжелые эффекты:

magick input.jpg -resize 1600x1600 -sharpen 0x1 out.jpg

Для массовых задач не использовать лишние операции. Например, если не нужны профили, -strip полезен. Если не нужна коррекция цвета, не добавлять ее на всякий случай.

Сильные стороны ImageMagick

ImageMagick ценят не за комфорт интерфейса, а за масштабируемость и точность. Программа хороша там, где действия должны повторяться одинаково и надежно.

Плюсы:

  • работает через командную строку;

  • подходит для скриптов и автоматизации;

  • поддерживает множество форматов;

  • умеет конвертировать, изменять размер, кадрировать, сравнивать и объединять изображения;

  • работает с GIF и последовательностями кадров;

  • умеет накладывать текст, водяные знаки и графические примитивы;

  • подходит для серверной обработки;

  • может создавать контакт-листы и коллажи;

  • имеет подробные команды диагностики;

  • работает на Windows, macOS и Linux;

  • хорошо встраивается в пайплайны обработки контента.

Главная сила ImageMagick — повторяемость. Команду можно сохранить, вставить в скрипт, запустить по расписанию, применить к новой папке или встроить в серверный код. Это делает программу гораздо полезнее обычного ручного конвертера, когда речь идет о больших объемах изображений.

Слабые стороны ImageMagick

ImageMagick не подходит всем. Программа требует понимания командной строки и аккуратности с параметрами. Ошибка в одной команде может испортить результат для сотен файлов, особенно при использовании mogrify.

Минусы:

  • нет привычного полноценного GUI-редактора;

  • высокий порог входа для новичков;

  • команды могут быть длинными и чувствительными к порядку параметров;

  • mogrify может перезаписать исходники;

  • поддержка некоторых форматов зависит от сборки;

  • PDF/SVG/HEIC/AVIF могут требовать дополнительных библиотек;

  • безопасность нужно настраивать отдельно;

  • результат иногда зависит от цветовых профилей;

  • для ручной ретуши программа неудобна;

  • для максимального PNG/JPEG-сжатия иногда нужны специализированные оптимизаторы.

Главная ошибка — ждать от ImageMagick поведения обычного фоторедактора. Это не инструмент для подправить лицо, замазать объект кистью или поработать со слоями вручную. Это инструмент для формализованной обработки.

Частые ошибки и как их исправить

Команда magick не найдена

Ошибка:

magick: command not found

Причины:

  • ImageMagick не добавлен в PATH;

  • установлена старая ветка, где используется convert;

  • терминал открыт до установки и не увидел новые переменные окружения;

  • на Windows команда запускается не из той оболочки.

Проверка:

magick -version

или:

convert -version

Windows запускает не тот convert

В Windows есть системная команда convert, не связанная с ImageMagick. Поэтому лучше использовать:

magick input.png output.jpg

а не:

convert input.png output.jpg

PDF не конвертируется

Типичные причины:

  • нет нужного delegate;

  • операция запрещена политикой безопасности;

  • PDF защищен;

  • слишком большое разрешение -density;

  • нет прав на чтение или запись.

Команда:

magick -density 200 document.pdf page.png

Если возникает ошибка security policy, нужно не ломать ограничения вслепую, а понять, зачем PDF запрещен в текущей среде. На домашнем компьютере и публичном сервере решение будет разным.

HEIC или AVIF не открывается

Причина обычно в том, что сборка ImageMagick не имеет нужного delegate. Проверка:

magick identify -list format | grep -i heicmagick identify -list format | grep -i avif

На Windows аналог через PowerShell:

magick identify -list format | Select-String -Pattern "HEIC"magick identify -list format | Select-String -Pattern "AVIF"

Файлы перезаписались после mogrify

mogrify предназначен для изменения файлов. Чтобы не перезаписывать оригиналы, используйте -path:

mkdir outputmagick mogrify -path output -resize 1600x1600 *.jpg

Пробелы в путях ломают команду

Неправильно:

magick C:\Users\User\My Photos\photo.jpg output.jpg

Правильно:

magick "C:\Users\User\My Photos\photo.jpg" output.jpg

В bash:

magick "/home/user/My Photos/photo.jpg" output.jpg

После удаления EXIF не работает auto-orient

Если сначала выполнить:

magick photo.jpg -strip stripped.jpg

а потом:

magick stripped.jpg -auto-orient output.jpg

ориентация может не измениться, потому что EXIF Orientation уже удален. Правильный порядок:

magick photo.jpg -auto-orient -strip output.jpg

PNG стал больше после конвертации

Это нормально. PNG без потерь, и после изменения изображения он может стать больше. Если цель — веб-оптимизация, часто разумнее использовать WebP:

magick screenshot.png -quality 85 screenshot.webp

Цвета изменились после обработки

Причины:

  • удален ICC-профиль;

  • исходник был в CMYK;

  • браузер и просмотрщик по-разному управляют цветом;

  • использован неправильный порядок -profile;

  • применен -strip без учета профиля.

Проверка:

magick identify -verbose image.jpg

Сравнение с аналогами

ImageMagick лучше оценивать не абстрактно, а по конкретным сценариям: массовая конвертация, серверная обработка, ручное редактирование, удобство интерфейса, производительность, поддержка форматов и безопасность.

Программа Где сильнее ImageMagick Где сильнее аналог
GraphicsMagick Больше современных возможностей, активная экосистема ImageMagick-команд, привычная команда magick GraphicsMagick делает ставку на стабильность, предсказуемость и совместимость, поддерживает множество форматов и тоже хорош в CLI-сценариях
XnConvert Лучше для скриптов, серверов, CI/CD, командной автоматизации XnConvert удобнее для пакетной обработки через GUI, поддерживает пресеты и большое количество действий без написания команд
IrfanView Сильнее как кроссплатформенный CLI-инструмент и серверный обработчик IrfanView удобнее на Windows как быстрый просмотрщик с batch conversion, кнопками Add, Add all, Options, Set advanced options, Start, Stop, Exit
GIMP Лучше для автоматической обработки папок и серверных задач GIMP сильнее в ручной ретуши, слоях, масках, кистях, выделениях и визуальном редактировании
libvips ImageMagick универсальнее как командный инструмент с множеством операций libvips быстрее и экономнее по памяти во многих серверных сценариях, особенно при потоковой обработке больших изображений

GraphicsMagick

GraphicsMagick исторически близок по духу: это тоже командный инструмент для обработки изображений. Он хорош там, где нужна стабильность, предсказуемость и классический CLI-подход. ImageMagick обычно выбирают, когда нужна более широкая современная функциональность, привычная команда magick, богатая документация по операциям и множество примеров.

Для простого ресайза и конвертации оба инструмента подходят. Для сложных цепочек, свежих форматов, нестандартных операторов и активной экосистемы ImageMagick чаще удобнее.

XnConvert

XnConvert лучше подходит пользователю, который хочет выбрать папку, добавить действия в интерфейсе, настроить выходной формат и сохранить preset. Там удобнее ручной пакетный workflow.

ImageMagick лучше, когда задачу нужно запускать без участия человека:

magick mogrify -path webp -format webp -resize 1600x1600 -quality 82 *.jpg

Такую команду можно положить в скрипт, cron, Docker-контейнер или backend. В XnConvert это будет удобнее визуально, но хуже для полностью автоматического процесса.

IrfanView

IrfanView — сильный Windows-просмотрщик с полезной пакетной конвертацией. Его удобно использовать, когда нужно быстро открыть папку, выбрать файлы и запустить batch conversion через диалог. В нем есть понятные кнопки и настройки.

ImageMagick выигрывает, когда требуется кроссплатформенность, интеграция в скрипты и одинаковое поведение в автоматизации. На сервере IrfanView выглядит чужеродно, а ImageMagick — естественно.

GIMP

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

Но GIMP не так удобен, если нужно обработать тысячи файлов одинаково. ImageMagick в такой ситуации проще, быстрее и надежнее:

for file in *.png; do  magick "$file" -resize 1200x1200 "out/${file%.*}.jpg"done

libvips

libvips — мощная библиотека для быстрой обработки изображений с низким потреблением памяти. В серверных задачах, где нужно быстро делать превью из больших файлов, libvips часто рациональнее. Он demand-driven и хорошо работает с потоковой обработкой.

ImageMagick универсальнее для пользователя командной строки: у него огромное количество готовых CLI-операций, удобные команды identify, montage, compare, composite, работа с псевдоизображениями, текстом, коллажами и множеством нестандартных преобразований.

Выбор простой: для максимальной серверной производительности на больших потоках стоит смотреть в сторону libvips; для универсальной командной обработки, диагностики, конвертации и сложных разовых задач ImageMagick часто удобнее.

Кому подойдет ImageMagick

ImageMagick подойдет тем, кто работает не с одним изображением, а с процессом обработки изображений.

Программа особенно полезна:

  • разработчикам сайтов и приложений;

  • администраторам серверов;

  • контент-менеджерам;

  • фотографам, которым нужна пакетная подготовка файлов;

  • владельцам интернет-магазинов;

  • специалистам по SEO и скорости сайтов;

  • пользователям Linux/macOS/Windows, которым удобна командная строка;

  • тем, кто готов один раз настроить команду и применять ее регулярно;

  • тем, кому нужно обрабатывать изображения в pipeline.

Типичный пользователь ImageMagick не обязательно программист, но он должен быть готов работать с командами. Если человек не хочет видеть терминал вообще, ImageMagick будет раздражать.

Кому лучше выбрать другую программу

ImageMagick не стоит выбирать, если нужна ручная ретушь или визуальный редактор. Для таких задач лучше GIMP, Photoshop, Affinity Photo, Krita или другой GUI-инструмент.

Другой инструмент лучше, если нужно:

  • редактировать изображение мышью;

  • работать со слоями;

  • делать ретушь кожи;

  • удалять объекты кистью;

  • рисовать маски вручную;

  • подбирать цвет на глаз;

  • настраивать фильтры через ползунки;

  • пакетно обрабатывать фото без командной строки;

  • быстро показать результат неподготовленному пользователю.

ImageMagick не плох в этих случаях — он просто не для них. Его сильная сторона не интерактивное редактирование, а точная автоматическая обработка.

Лучшие команды для ежедневной работы

Проверить изображение

magick identify image.jpg

Подробно проверить изображение

magick identify -verbose image.jpg

Конвертировать PNG в JPG с белым фоном

magick image.png -background white -alpha remove -alpha off image.jpg

Уменьшить фото для сайта

magick photo.jpg -auto-orient -resize 1600x1600 -strip -quality 85 web.jpg

Создать WebP

magick photo.jpg -auto-orient -resize 1600x1600 -strip -quality 82 web.webp

Сделать thumbnail

magick photo.jpg -auto-orient -thumbnail 300x300 thumb.jpg

Квадратная обложка

magick photo.jpg -auto-orient -resize 1200x1200^ -gravity center -crop 1200x1200+0+0 +repage cover.jpg

Удалить метаданные

magick photo.jpg -strip clean.jpg

Добавить подпись

magick photo.jpg -gravity SouthEast -pointsize 32 -fill white -annotate +30+30 "example.com" signed.jpg

Наложить watermark

magick photo.jpg watermark.png -gravity SouthEast -geometry +20+20 -composite output.jpg

Сделать галерею

magick montage -label '%f' *.jpg -thumbnail 180x180 -geometry +8+8 gallery.jpg

Сравнить изображения

magick compare before.png after.png diff.png

Встроенный пример ImageMagick wizard

Итоговая оценка

ImageMagick — зрелый и мощный инструмент для обработки изображений через командную строку. Он не рассчитан на пользователя, который хочет открыть фото и править его мышью. Его ценность в другом: точные команды, пакетная обработка, конвертация, автоматизация, работа на сервере, создание миниатюр, сравнение изображений, сборка GIF, контакт-листы, наложение текста и водяных знаков.

Главные преимущества ImageMagick — универсальность, поддержка множества форматов, гибкость команд и пригодность для автоматизации. Главные недостатки — высокий порог входа, отсутствие привычного полноценного GUI и необходимость аккуратно работать с mogrify, профилями, PDF/SVG и политиками безопасности.

Для ручной ретуши лучше взять GIMP или другой графический редактор. Для визуальной пакетной обработки без терминала проще XnConvert или IrfanView. Для высоконагруженной серверной обработки больших изображений стоит рассмотреть libvips. Но если нужен универсальный командный инструмент, который умеет конвертировать, изменять, анализировать, собирать, сравнивать и автоматизировать изображения, ImageMagick остается одним из самых сильных вариантов.