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
- Ретушь фото
- Русский интерфейс
- Просто для новичков
- Только командная строка
- Не для ретуши фото
- Сложнее новичкам
Что такое 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 | Современное сжатие изображений, при наличии поддержки |
| Рендеринг страниц в изображения, при наличии 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, профили, цветовое пространство, каналы, статистику, глубину, компрессию и служебные свойства изображения.

В 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. Но при массовой обработке удобнее проверять итоговые файлы через 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 часто используют для уменьшения веса файлов. Важно отличать два типа оптимизации:
-
Визуальная компрессия — снижение качества JPEG/WebP/HEIC.
-
Служебная очистка — удаление 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, особенно если пути содержат пробелы. Главное — всегда брать сложные пути в кавычки.
Безопасный принцип работы
При массовой обработке лучше не запускать первую команду сразу по оригиналам. Надежная схема:
-
Сделать копию нескольких файлов.
-
Проверить команду на 3–5 изображениях.
-
Открыть результат.
-
Проверить вес, размер и качество.
-
Запустить на всей папке.
-
Хранить оригиналы отдельно.
Особенно осторожно нужно использовать 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 — зрелый и мощный инструмент для обработки изображений через командную строку. Он не рассчитан на пользователя, который хочет открыть фото и править его мышью. Его ценность в другом: точные команды, пакетная обработка, конвертация, автоматизация, работа на сервере, создание миниатюр, сравнение изображений, сборка GIF, контакт-листы, наложение текста и водяных знаков.
Главные преимущества ImageMagick — универсальность, поддержка множества форматов, гибкость команд и пригодность для автоматизации. Главные недостатки — высокий порог входа, отсутствие привычного полноценного GUI и необходимость аккуратно работать с mogrify, профилями, PDF/SVG и политиками безопасности.
Для ручной ретуши лучше взять GIMP или другой графический редактор. Для визуальной пакетной обработки без терминала проще XnConvert или IrfanView. Для высоконагруженной серверной обработки больших изображений стоит рассмотреть libvips. Но если нужен универсальный командный инструмент, который умеет конвертировать, изменять, анализировать, собирать, сравнивать и автоматизировать изображения, ImageMagick остается одним из самых сильных вариантов.