GraphicsMagick: консольный пакет для обработки, конвертации

GraphicsMagick — это программа для обработки изображений через командную строку, графическое окно просмотра и программные API. Ее основная задача — не ручная ретушь мышкой, а точная, повторяемая и быстрая работа с файлами: конвертация форматов, изменение размера, сжатие, поворот, кадрирование, наложение текста, создание миниатюр, сравнение картинок, сборка сеток, подготовка изображений для сайта или сервера. Программа работает через единый исполняемый файл gm, а основные функции вызываются как подкоманды: gm convert, gm mogrify, gm identify, gm compare, gm composite, gm montage, gm display, gm import, gm animate и другие.

Содержание

Скачать GraphicsMagick

Бесплатно
В реестре программного обеспечения РФ
Чистая установка

Новейшая версия для Windows и macOS. Удобный редактор с ИИ и профессиональными функциями.

⬇ Скачать ФотоМАСТЕР бесплатно

⬇ Скачать GraphicsMagick

GraphicsMagick часто воспринимают как инструмент для разработчиков, но это не значит, что он нужен только программистам. Его удобно использовать везде, где нужно обработать не одно изображение, а десятки, сотни или тысячи файлов по одинаковым правилам. Например, уменьшить все фотографии до 1600 пикселей по широкой стороне, перевести PNG в WebP, убрать EXIF, сделать JPEG легче, собрать контактный лист, проверить размеры файлов перед загрузкой на сайт или автоматически подготовить изображения при публикации товара в каталоге.

Главная особенность программы — отсутствие привычной тяжелой графической оболочки в стиле Photoshop или GIMP. В GraphicsMagick пользователь чаще пишет команду, чем нажимает кнопку. Это делает программу менее дружелюбной для новичка, но намного удобнее для автоматизации. Один раз настроенная команда дает одинаковый результат каждый раз, ее можно вставить в .bat, .cmd, .ps1, .sh, cron-задачу, серверный скрипт, обработчик загрузок или пайплайн сборки сайта.

GraphicsMagick подходит для задач, где важны:

  • пакетная обработка изображений;

  • предсказуемый результат;

  • работа без ручного открытия каждого файла;

  • запуск из терминала;

  • обработка на сервере;

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

  • гибкая настройка качества, формата, геометрии, цвета и метаданных.

Программа поддерживает чтение, запись и обработку большого количества графических форматов, включая JPEG, PNG, GIF, TIFF, WebP, PDF, PNM, DPX, JPEG-2000, JXL, AVIF, HEIC и другие. Конкретный набор форматов зависит от сборки и подключенных библиотек.

Общая логика работы

GraphicsMagick устроен вокруг короткой команды gm. После нее указывается действие, затем параметры, входной файл и выходной файл. Базовая структура выглядит так:

gm convert input.jpg output.png

Здесь:

  • gm — основная команда GraphicsMagick;

  • convert — подкоманда для конвертации и обработки;

  • input.jpg — исходное изображение;

  • output.png — файл, который будет создан после обработки.

Если нужно не просто поменять формат, а еще изменить размер, команда расширяется:

gm convert input.jpg -resize 1200x1200 output.jpg

Если нужно сжать JPEG и удалить лишние профили:

gm convert input.jpg -resize 1600x1600 -quality 82 +profile "*" output.jpg

Такой подход кажется непривычным только сначала. На практике команда читается как инструкция: взять файл, выполнить действия слева направо, сохранить результат. Чем больше повторяющихся операций, тем заметнее преимущество GraphicsMagick перед обычным фоторедактором.

Вместо открытия каждой картинки в отдельном окне можно обработать папку:

gm mogrify -resize 1200x1200 -quality 85 +profile "*" *.jpg

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

Интерфейс GraphicsMagick

Основной интерфейс GraphicsMagick — командная строка. На Windows это может быть Command Prompt, PowerShell или терминал в редакторе кода. На Linux и macOS — обычный терминал. Проверка установки и доступных возможностей обычно начинается с команды:

gm version

После запуска выводится информация о сборке, разрядности, поддержке библиотек и доступных форматах. В этом окне удобно сразу проверить, видит ли система команду gm, включена ли поддержка JPEG, PNG, TIFF, WebP, FreeType, Ghostscript, Little CMS, OpenMP и других компонентов.

GraphicsMagick

У GraphicsMagick есть и графическая часть, но она не является главным способом работы. Через gm display можно открыть изображение в окне просмотра, вызвать меню и выполнить часть операций интерактивно. В графическом окне встречаются пункты File, Edit, View, Transform, Enhance, Effects, F/X, Image Edit, Miscellany, Help. В меню Enhance доступны операции вроде Hue..., Saturation..., Brightness..., Gamma..., Spiff, Dull, Equalize, Normalize, Negate, Grayscale, Map..., Quantize.... Это не современный редактор с панелями слоев, но для просмотра, проверки и быстрых действий окно полезно.

GraphicsMagick Command widget с меню Enhance

В Windows-окне просмотра можно увидеть более привычные верхние меню: File, Edit, View, Transform, Window, Help. В меню Transform доступны команды Crop, Chop, Flip, Flop, Rotate Right, Rotate Left, Rotate..., Shear..., Roll..., Trim Edges. Это показывает, что GraphicsMagick умеет не только консольные операции, но и базовые визуальные трансформации через окно изображения.

Окно GraphicsMagick с меню Transform

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

Для чего нужна GraphicsMagick

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

Конвертация форматов

Самая простая задача — перевести изображение из одного формата в другой:

gm convert photo.jpg photo.png

Или из PNG в JPEG:

gm convert screenshot.png screenshot.jpg

Или сразу в WebP, если сборка поддерживает этот формат:

gm convert photo.jpg photo.webp

Формат результата обычно определяется по расширению выходного файла. Если файл называется result.png, программа пишет PNG. Если result.jpg — JPEG. Если нужно явно указать формат, можно использовать префикс:

gm convert input.bin PNG:output.png

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

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

Команда -resize — одна из самых частых в GraphicsMagick. Она уменьшает или увеличивает изображение с сохранением пропорций:

gm convert photo.jpg -resize 1200x1200 photo-1200.jpg

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

Для уменьшения только по ширине:

gm convert photo.jpg -resize 1200x photo-wide.jpg

Для уменьшения только по высоте:

gm convert photo.jpg -resize x900 photo-height.jpg

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

gm convert photo.jpg -resize 1200x800! photo-forced.jpg

Такой режим нужно использовать осторожно: он может исказить изображение.

Сжатие JPEG

Для JPEG используется параметр -quality:

gm convert photo.jpg -quality 82 photo-compressed.jpg

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

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

gm convert input.jpg -resize 1600x1600 -quality 85 +profile "*" output.jpg

Она одновременно уменьшает изображение, задает качество JPEG и удаляет профили/метаданные.

Удаление EXIF и профилей

Фотографии с камеры или телефона могут содержать EXIF: модель устройства, параметры съемки, дату, GPS, ориентацию, миниатюры и цветовые профили. Для сайта это часто лишний вес и иногда лишняя приватная информация.

Удалить профили можно так:

gm convert input.jpg +profile "*" output.jpg

В пакетном режиме:

gm mogrify +profile "*" *.jpg

Если нужно сохранить исходники, безопаснее писать результат в отдельную папку:

mkdir cleangm mogrify -path clean +profile "*" *.jpg

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

GraphicsMagick особенно силен в пакетной обработке. Например, нужно уменьшить все JPEG в папке до 1200 пикселей по длинной стороне:

gm mogrify -resize 1200x1200 *.jpg

Нужно перевести все PNG в JPEG:

gm mogrify -format jpg *.png

Нужно сделать WebP-копии всех JPEG:

gm mogrify -format webp *.jpg

Нужно уменьшить, сжать и очистить метаданные:

gm mogrify -resize 1600x1600 -quality 85 +profile "*" *.jpg

Важное правило: перед gm mogrify лучше сделать копию папки. Эта команда создана именно для массового изменения файлов, поэтому ошибка в параметрах может испортить всю директорию.

Наложение текста

GraphicsMagick умеет добавлять текст через -draw, label:, caption: и параметры шрифта:

gm convert input.jpg -font Arial -pointsize 36 -fill white -draw "text 40,60 'Sample text'" output.jpg

Для подписи внизу можно использовать -gravity:

gm convert input.jpg -font Arial -pointsize 32 -fill white -gravity South -draw "text 0,40 'example.com'" output.jpg

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

gm convert input.jpg -fill "rgba(0,0,0,0.45)" -draw "rectangle 0,880 1600,1000" -font Arial -pointsize 42 -fill white -draw "text 40,950 'Новая коллекция'" output.jpg

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

Наложение логотипа

Для наложения одного изображения на другое используется gm composite. Например, есть основная фотография photo.jpg и прозрачный PNG-логотип logo.png:

gm composite -gravity SouthEast logo.png photo.jpg photo-logo.jpg

Чтобы отодвинуть логотип от края:

gm composite -gravity SouthEast -geometry +40+40 logo.png photo.jpg photo-logo.jpg

Здесь -gravity SouthEast ставит логотип в правый нижний угол, а -geometry +40+40 добавляет отступы.

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

Команда gm compare сравнивает два похожих изображения, выводит статистику отличий и может создать файл с визуальной подсветкой различий.

Пример числового сравнения:

gm compare -metric mse original.png changed.png

Пример создания изображения с разницей:

gm compare -metric mse -file diff.png original.png changed.png

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

Создание контактного листа

gm montage собирает несколько картинок в одну сетку. Это удобно для предпросмотра папки, каталога товаров, вариантов обработки или серии кадров. Команда montage создает составное изображение из отдельных файлов, размещая их плитками, а размер плиток и сетка задаются параметрами -geometry и -tile.

Пример:

gm montage *.jpg -thumbnail 220x220 -tile 5x -geometry +8+8 contact-sheet.jpg

Здесь:

  • *.jpg — все JPEG в текущей папке;

  • -thumbnail 220x220 — размер миниатюр;

  • -tile 5x — пять изображений в строке;

  • -geometry +8+8 — отступы между плитками;

  • contact-sheet.jpg — итоговая сетка.

Просмотр изображения

Открыть файл в графическом окне можно так:

gm display photo.jpg

В окне просмотра доступны операции через меню. Например, для открытия файла используется FileOpen, для визуальной директории — FileVisual Directory, для интерактивного вырезания — EditCut, для копирования — EditCopy, для вставки — EditPaste, для поворота — TransformRotate..., для подписи — Image EditAnnotate, для рисования — Image EditDraw, для наложения — Image EditComposite.

Поддерживаемые форматы

GraphicsMagick работает с большим количеством растровых, векторных, документных и технических форматов. В реальной работе важнее не просто наличие формата в списке, а поддержка чтения и записи в конкретной сборке. Например, JPEG и PNG почти всегда доступны, а PDF зависит от Ghostscript, WebP — от соответствующей библиотеки, HEIC/AVIF — от HEIF-компонентов, JPEG XL — от JXL-компонентов.

ФорматТипичная задачаОсобенности
JPEG / JPGфотографии, карточки товаров, изображения для сайтахорошо сжимается, не поддерживает прозрачность
PNGскриншоты, интерфейсы, изображения с прозрачностьюбез потерь, но может быть тяжелее JPEG
GIFпростая анимация, индексированные изображенияограниченная палитра, поддержка кадров
TIFFсканы, полиграфия, архивные изображенияможет быть многостраничным, поддерживает разные сжатия
WebPвеб-оптимизацияподдерживает сжатие с потерями и без, прозрачность
PDFизвлечение или запись страниц как изображенийзависит от внешних компонентов
PNM / PBM / PGM / PPMтехнические и промежуточные форматыудобны в скриптах и обработке
DPXкино, видео, профессиональные пайплайныиспользуется в технических потоках
JPEG-2000архивирование, медицинские и профессиональные сценариизависит от библиотек
HEIC / HEIFизображения с телефонов и современных устройствподдержка зависит от сборки
AVIFсовременный веб-форматподдержка зависит от сборки
JXLJPEG XLподдержка зависит от сборки
SVG / MVGвекторная графика и внутренние сценариирезультат зависит от рендера и библиотек
BMP / ICO / PCX / TGAстарые и служебные форматыполезны для совместимости

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

gm convert -list formats

Или через:

gm identify -list formats

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

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

gm convert

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

Простейшие примеры:

gm convert input.jpg output.pnggm convert input.png output.jpggm convert input.tif output.jpg

Изменение размера:

gm convert input.jpg -resize 1200x1200 output.jpg

Сжатие JPEG:

gm convert input.jpg -quality 80 output.jpg

Удаление профилей:

gm convert input.jpg +profile "*" output.jpg

Комбинированная команда:

gm convert input.jpg -resize 1600x1600 -quality 85 +profile "*" output.jpg

convert безопаснее, чем mogrify, потому что обычно создает новый файл и не меняет исходник. Поэтому для проверки параметров лучше начинать именно с gm convert.

gm mogrify

gm mogrify нужен для изменения файла или группы файлов на месте. Он удобен для пакетной обработки, но опаснее из-за перезаписи. Если задать:

gm mogrify -resize 1200x1200 *.jpg

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

mkdir outputgm mogrify -path output -resize 1200x1200 *.jpg

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

gm mogrify -format jpg *.png

Пакетное сжатие JPEG:

gm mogrify -quality 82 *.jpg

Подготовка папки изображений для сайта:

mkdir webgm mogrify -path web -resize 1600x1600 -quality 84 +profile "*" *.jpg

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

gm identify

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

Базовая проверка:

gm identify photo.jpg

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

Подробная информация:

gm identify -verbose photo.jpg

Только размер:

gm identify -format "%wx%hn" photo.jpg

Ширина:

gm identify -format "%wn" photo.jpg

Высота:

gm identify -format "%hn" photo.jpg

Формат:

gm identify -format "%mn" photo.jpg

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

gm compare

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

Числовое сравнение:

gm compare -metric mse before.png after.png

Создание файла различий:

gm compare -metric mse -file diff.png before.png after.png

Сравнение удобно для:

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

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

  • контроля качества после сжатия;

  • сравнения двух экспортов;

  • поиска отличий между скриншотами;

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

gm montage

gm montage собирает изображения в сетку:

gm montage img1.jpg img2.jpg img3.jpg -tile 3x1 -geometry +10+10 result.jpg

С миниатюрами:

gm montage *.jpg -thumbnail 180x180 -tile 6x -geometry +6+6 sheet.jpg

С подписями:

gm montage *.jpg -thumbnail 180x180 -label "%f" -tile 5x -geometry +8+8 sheet.jpg

Светлый фон:

gm montage *.jpg -thumbnail 220x220 -background white -geometry +10+10 sheet.jpg

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

gm composite

gm composite накладывает одно изображение на другое. Оно используется для логотипов, водяных знаков, масок, декоративных элементов, бейджей и технических оверлеев. Команда работает по схеме: изображение-изменение, базовое изображение, результат.

Пример:

gm composite logo.png photo.jpg result.jpg

Позиционирование:

gm composite -gravity SouthEast -geometry +30+30 logo.png photo.jpg result.jpg

Полупрозрачный логотип обычно готовят заранее в PNG с альфа-каналом. Тогда composite корректно накладывает его на базовую картинку.

gm display

gm display открывает изображение в окне просмотра:

gm display photo.jpg

Команда полезна, если нужно быстро посмотреть результат без запуска отдельного фоторедактора. В графическом окне можно открыть файл через FileOpen, вызвать визуальный каталог через FileVisual Directory, повернуть изображение через Transform, выполнить Crop, Chop, Flip, Flop, Trim Edges, а также использовать интерактивные действия через Image Edit.

gm import

gm import захватывает изображение с экрана или окна в X11-среде. Это не универсальный современный скриншотер для всех платформ, но в Unix/X11-сценариях команда полезна:

gm import screenshot.png

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

gm animate

gm animate отображает последовательность изображений или анимацию, например GIF, в X11-среде:

gm animate animation.gif

Команда нужна реже, чем convert или mogrify, но входит в набор утилит GraphicsMagick.

gm batch

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

Пример идеи:

gm batch commands.txt

Внутри файла могут быть команды обработки. Такой режим интересен для серверных сценариев, где GraphicsMagick вызывается много раз.

Практическая работа с изображениями

Как конвертировать JPG в PNG

Самая простая команда:

gm convert photo.jpg photo.png

Если исходный файл находится в другой папке:

gm convert "C:Imagesphoto.jpg" "C:Imagesphoto.png"

На Linux/macOS:

gm convert "/home/user/images/photo.jpg" "/home/user/images/photo.png"

Если в пути есть пробелы, используйте кавычки:

gm convert "my photos/photo 01.jpg" "my photos/photo 01.png"

После конвертации стоит проверить результат:

gm identify "my photos/photo 01.png"

Как сделать JPEG легче

Базовая команда:

gm convert photo.jpg -quality 82 photo-small.jpg

Более практичная команда для сайта:

gm convert photo.jpg -resize 1600x1600 -quality 84 +profile "*" photo-web.jpg

Здесь выполняются три операции:

  1. Изображение уменьшается до разумного размера.

  2. JPEG сохраняется с контролируемым качеством.

  3. Удаляются профили и метаданные, которые часто увеличивают файл.

Если картинка уже маленькая, но содержит тяжелый EXIF, можно удалить только профили:

gm convert photo.jpg +profile "*" photo-clean.jpg

Как пакетно уменьшить все изображения в папке

Без сохранения оригиналов:

gm mogrify -resize 1200x1200 *.jpg

С сохранением результата в отдельную папку:

mkdir resizedgm mogrify -path resized -resize 1200x1200 *.jpg

С одновременным сжатием:

mkdir webgm mogrify -path web -resize 1600x1600 -quality 85 +profile "*" *.jpg

Для PNG:

mkdir small-pnggm mogrify -path small-png -resize 1200x1200 *.png

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

Как сделать миниатюры

Миниатюры можно делать через -resize или -thumbnail. Для веб-превью обычно используют -thumbnail:

gm convert photo.jpg -thumbnail 300x300 thumb.jpg

Если нужно строго 300×300 с обрезкой по центру, сначала масштабируют, потом кадрируют:

gm convert photo.jpg -resize 300x300^ -gravity center -crop 300x300+0+0 +repage thumb.jpg

Здесь:

  • 300x300^ — заполнить квадрат без пустых полей;

  • -gravity center — брать центр;

  • -crop 300x300+0+0 — обрезать до квадрата;

  • +repage — сбросить служебную геометрию после кадрирования.

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

Как повернуть изображение

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

gm convert photo.jpg -rotate 90 photo-rotated.jpg

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

gm convert photo.jpg -rotate -90 photo-rotated.jpg

Поворот на произвольный угол:

gm convert photo.jpg -rotate 12 photo-tilted.jpg

При повороте на произвольный угол вокруг изображения появятся пустые области. Их можно заполнить цветом:

gm convert photo.jpg -background white -rotate 12 photo-tilted.jpg

Как отразить изображение

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

gm convert photo.jpg -flip photo-flip.jpg

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

gm convert photo.jpg -flop photo-flop.jpg

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

Как кадрировать изображение

Обрезка задается через -crop:

gm convert photo.jpg -crop 800x600+100+50 output.jpg

Формат такой:

ширина x высота + смещение_x + смещение_y

То есть 800x600+100+50 означает: вырезать область 800×600 пикселей, начиная с координаты X=100 и Y=50.

Обрезка от центра:

gm convert photo.jpg -gravity center -crop 800x600+0+0 +repage output.jpg

Автоматическое удаление однотонных краев:

gm convert scan.png -trim +repage scan-trimmed.png

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

Как добавить рамку

Простая рамка:

gm convert photo.jpg -bordercolor white -border 20x20 photo-border.jpg

Серая рамка:

gm convert photo.jpg -bordercolor "#dddddd" -border 10x10 photo-border.jpg

Псевдообъемная рамка:

gm convert photo.jpg -frame 20x20+6+6 photo-frame.jpg

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

Как изменить яркость, гамму и насыщенность

Изменение гаммы:

gm convert photo.jpg -gamma 1.15 photo-gamma.jpg

Нормализация тонов:

gm convert photo.jpg -normalize photo-normalized.jpg

Эквализация:

gm convert photo.jpg -equalize photo-equalized.jpg

Повышение резкости:

gm convert photo.jpg -sharpen 0x1.0 photo-sharp.jpg

Размытие:

gm convert photo.jpg -blur 0x2 photo-blur.jpg

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

Как сделать изображение черно-белым

Черно-белый вариант через цветовое пространство:

gm convert photo.jpg -colorspace Gray photo-gray.jpg

Или через меню графического окна EnhanceGrayscale, если используется gm display.

Как сделать водяной знак

Простой текстовый водяной знак:

gm convert photo.jpg -font Arial -pointsize 36 -fill "rgba(255,255,255,0.55)" -gravity SouthEast -draw "text 30,30 'site.ru'" photo-watermark.jpg

Графический знак:

gm composite -gravity SouthEast -geometry +30+30 watermark.png photo.jpg photo-watermark.jpg

Если нужен полупрозрачный PNG, лучше подготовить прозрачность в самом watermark.png, а затем накладывать его через composite.

Как собрать изображения в сетку

Простая сетка из всех JPEG:

gm montage *.jpg -thumbnail 200x200 -tile 5x -geometry +8+8 sheet.jpg

С белым фоном:

gm montage *.jpg -thumbnail 200x200 -tile 5x -geometry +8+8 -background white sheet.jpg

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

gm montage *.jpg -thumbnail 200x200 -label "%f" -tile 4x -geometry +10+10 sheet.jpg

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

Как подготовить изображения для сайта

Практичный сценарий:

mkdir webgm mogrify -path web -resize 1600x1600 -quality 84 +profile "*" *.jpg

Для миниатюр:

mkdir thumbsgm mogrify -path thumbs -thumbnail 400x400 -quality 82 +profile "*" *.jpg

Для квадратных превью:

mkdir squarefor f in *.jpg; do gm convert "$f" -resize 600x600^ -gravity center -crop 600x600+0+0 +repage -quality 84 +profile "*" "square/$f"; done

На Windows PowerShell аналогичная идея выглядит так:

New-Item -ItemType Directory -Force squareGet-ChildItem *.jpg | ForEach-Object {  gm convert $_.FullName -resize 600x600^ -gravity center -crop 600x600+0+0 +repage -quality 84 +profile "*" ("square" + $_.Name)}

Работа с PDF

GraphicsMagick может работать с PDF как с изображениями страниц, но результат зависит от установленной поддержки PostScript/PDF через внешние компоненты. Практический сценарий — получить PNG или JPEG из первой страницы PDF:

gm convert -density 150 document.pdf[0] page.png

Здесь:

  • -density 150 задает плотность рендеринга;

  • document.pdf[0] указывает первую страницу;

  • page.png — результат.

Для всех страниц:

gm convert -density 150 document.pdf page-%03d.png

Если PDF не открывается, причина чаще всего не в синтаксисе команды, а в отсутствии нужного обработчика PDF/PostScript или в ограничениях сборки. При серверной обработке PDF нужно быть особенно осторожным: документы могут быть большими, поврежденными, специально созданными для нагрузки или содержащими сложную векторную графику.

Работа с метаданными и профилями

Метаданные могут быть полезными, но для веб-изображений часто становятся лишними. В JPEG-фотографии может быть EXIF, ICC-профиль, встроенная миниатюра, комментарии, данные камеры. В PNG могут быть текстовые чанки и цветовые профили.

Удаление профилей:

gm convert input.jpg +profile "*" output.jpg

Пакетно:

gm mogrify +profile "*" *.jpg

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

Работа с цветом и каналами

GraphicsMagick позволяет менять цветовое пространство:

gm convert input.jpg -colorspace RGB output.jpg

Черно-белый вариант:

gm convert input.jpg -colorspace Gray output.jpg

Инверсия:

gm convert input.jpg -negate output.jpg

Нормализация:

gm convert input.jpg -normalize output.jpg

Квантизация цвета:

gm convert input.png -colors 256 output.png

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

Командная строка против графического окна

GraphicsMagick можно использовать через gm display, но программа раскрывается именно в терминале. Визуальное окно удобно для просмотра, но не заменяет командную обработку.

ЗадачаЧерез окноЧерез команду
Быстро открыть одно изображениеудобновозможно
Повернуть одно изображениеудобноудобно
Уменьшить 500 файловнеудобноудобно
Создать миниатюры для сайтанеудобноудобно
Повторить обработку через неделювручнуютой же командой
Запустить на серверепочти не подходитподходит
Встроить в скриптнетда
Настроить сложный пайплайнограниченнода

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

История версий программы

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

Развитие программы удобно воспринимать не как цепочку отдельных сборок, а как несколько этапов.

Ранний этап

На раннем этапе GraphicsMagick закрепил собственную архитектуру вокруг команды gm. Это важное отличие: вместо множества отдельных исполняемых файлов пользователь получает один входной пункт и набор подкоманд. Такой подход упростил использование в скриптах и сделал поведение более единообразным.

В этот период сформировались основные команды:

  • convert — конвертация и обработка;

  • mogrify — массовое изменение файлов;

  • identify — анализ свойств изображения;

  • compare — сравнение;

  • composite — наложение;

  • montage — сборка сетки;

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

  • import — захват изображения;

  • animate — просмотр анимации.

Линия 1.0

Линия 1.0 закрепила базовый набор возможностей: конвертацию, изменение размера, работу с популярными форматами, командную структуру и библиотечные интерфейсы. Для пользователя это означало, что GraphicsMagick уже можно применять как самостоятельный инструмент пакетной обработки, а не как экспериментальную ветку.

Линия 1.1

Линия 1.1 развивала стабильность и совместимость. Для таких программ это важнее, чем внешние изменения интерфейса. Пользователи используют GraphicsMagick в скриптах, и внезапная смена поведения команды может сломать автоматизацию. Поэтому история программы во многом строится вокруг аккуратного развития существующих функций.

Линия 1.2

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

Линия 1.3

Линия 1.3 стала основной долгоживущей веткой GraphicsMagick. В ней появлялись исправления безопасности, улучшения кодеков, обновления сторонних библиотек, доработки TIFF, WebP, JPEG, PNG, PDF/PostScript-сценариев, HEIF/AVIF/JXL-направления, SVG-рендера, MSL и внутренних механизмов. История изменений показывает регулярные релизы, исправления проблем, найденных fuzz-тестированием, и внимание к защите от некорректных или вредоносных файлов.

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

Возможности GraphicsMagick

Изменение геометрии изображения

GraphicsMagick умеет:

  • менять размер через -resize;

  • создавать миниатюры через -thumbnail;

  • обрезать через -crop;

  • удалять поля через -trim;

  • поворачивать через -rotate;

  • зеркалить через -flip и -flop;

  • сдвигать изображение через -roll;

  • растягивать или скашивать через -shear;

  • добавлять рамки через -border и -frame;

  • расширять холст через -extent.

Примеры:

gm convert input.jpg -resize 1200x1200 output.jpggm convert input.jpg -crop 800x600+20+20 output.jpggm convert input.jpg -trim +repage output.jpggm convert input.jpg -rotate 90 output.jpggm convert input.jpg -flip output.jpggm convert input.jpg -flop output.jpg

Коррекция изображения

Доступны операции:

  • -normalize;

  • -equalize;

  • -gamma;

  • -sharpen;

  • -blur;

  • -despeckle;

  • -colorspace;

  • -colors;

  • -negate;

  • -modulate.

Примеры:

gm convert input.jpg -normalize output.jpggm convert input.jpg -gamma 1.2 output.jpggm convert input.jpg -sharpen 0x1 output.jpggm convert input.jpg -blur 0x2 output.jpggm convert input.jpg -colorspace Gray output.jpg

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

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

GraphicsMagick может создавать изображения с нуля:

gm convert -size 800x400 xc:white blank.png

Создать плашку с текстом:

gm convert -size 800x300 xc:white -font Arial -pointsize 48 -fill black -gravity center -draw "text 0,0 'GraphicsMagick'" title.png

Создать градиент:

gm convert -size 800x300 gradient:white-gray gradient.png

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

Работа с многостраничными файлами

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

gm convert document.pdf[0] page1.pnggm convert document.pdf[1] page2.png

Для GIF можно извлечь кадры:

gm convert animation.gif frame-%03d.png

Для создания GIF из кадров:

gm convert -delay 10 frame-*.png animation.gif

Контроль ресурсов

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

Пример:

gm convert -limit memory 256MiB -limit disk 1GiB input.tif output.jpg

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

Сценарии использования

Для вебмастера

GraphicsMagick удобен для подготовки изображений к публикации. Типовой набор задач:

  • уменьшить фотографии до разумного размера;

  • убрать EXIF;

  • сжать JPEG;

  • сделать WebP-копии;

  • создать миниатюры;

  • проверить размеры изображений;

  • привести имена и форматы к единому виду.

Пример обработки папки:

mkdir webgm mogrify -path web -resize 1600x1600 -quality 84 +profile "*" *.jpg

Проверка размеров:

gm identify -format "%f %wx%hn" web/*.jpg

Для разработчика

Разработчику GraphicsMagick полезен как backend-инструмент. Его можно вызывать из PHP, Python, Node.js, Ruby, Go, shell-скриптов и других сред. Типичные задачи:

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

  • создать несколько размеров;

  • сделать превью;

  • проверить формат;

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

  • ограничить размеры;

  • подготовить файл для CDN;

  • сравнить скриншоты в тестах.

Пример логики:

  1. Пользователь загружает файл.

  2. Сервер проверяет MIME и размер.

  3. GraphicsMagick получает временный файл.

  4. Создаются версии large, medium, thumb.

  5. Метаданные удаляются.

  6. Результаты сохраняются в нужную директорию.

Для фотографа

Фотографу GraphicsMagick не заменит Lightroom, Capture One или Photoshop. Но он полезен на этапе технического экспорта:

  • быстро уменьшить отобранные JPEG;

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

  • создать контактный лист;

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

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

  • сделать легкие копии для сайта.

Контактный лист:

gm montage selected/*.jpg -thumbnail 240x240 -label "%f" -tile 5x -geometry +8+8 proof.jpg

Для контент-менеджера

Контент-менеджеру GraphicsMagick удобен, если работа идет с большим количеством картинок: статьи, каталоги, карточки товаров, галереи, документация. Один набор команд можно использовать постоянно:

mkdir readygm mogrify -path ready -resize 1400x1400 -quality 82 +profile "*" *.jpg

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

Для системного администратора

Администратору GraphicsMagick полезен на серверах, где изображения обрабатываются автоматически. Важные задачи:

  • проверка форматов;

  • ограничение ресурсов;

  • пакетная конвертация;

  • диагностика проблемных файлов;

  • запуск по расписанию;

  • массовое создание превью;

  • обработка архивов изображений.

Пример проверки всех файлов:

gm identify *.jpg

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

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

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

ПрограммаСильная сторонаВ чем уступает для сценариев GraphicsMagickКому подойдет
ImageMagickочень широкий набор функций, активная экосистема, мощная командная строка, большое количество форматовможет быть сложнее в совместимости между поколениями команд и поведением отдельных операцийразработчикам, которым нужен максимально широкий CLI-набор
XnConvertудобный графический пакетный конвертер, много действий без командной строкихуже подходит для серверных скриптов и автоматизации без GUIпользователям, которым нужна пакетная обработка через окно
FastStone Photo Resizerпростая пакетная обработка на Windows: конвертация, переименование, resize, crop, текст, watermarkограничен как серверный инструмент и менее гибок в сложных пайплайнахпользователям Windows, которым нужен понятный GUI
IrfanViewбыстрый просмотрщик с пакетной конвертацией и плагинамименьше подходит для Linux/macOS-серверов и сложных автоматических цепочектем, кто хочет просмотрщик и быстрые массовые операции
GIMPполноценное ручное редактирование, слои, маски, кисти, ретушьтяжелее для массовой автоматизации и серверных задачдизайнерам, ретушерам, пользователям визуального редактора
libvipsвысокая скорость и низкое потребление памяти в больших потокахменее привычен как универсальная CLI-программа для пользователявысоконагруженным веб-сервисам и разработчикам
Pillowудобная Python-библиотека для обработки изображений в кодене является самостоятельной универсальной CLI-программойPython-разработчикам

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

XnConvert удобнее для пользователя, который не хочет писать команды. Там можно выбрать файлы, добавить действия, указать формат вывода и запустить обработку через интерфейс. Он хорошо подходит для пакетного изменения размера, конвертации, поворота, сжатия и базовой коррекции. Но если нужно встроить обработку в сервер, cron, CI/CD или backend, командный подход GraphicsMagick практичнее. XnConvert позиционируется как кроссплатформенный пакетный конвертер с автоматизацией редактирования и десятками действий.

FastStone Photo Resizer проще для типичного Windows-пользователя. Его удобно открыть, добавить изображения, выбрать выходную папку, включить изменение размера, текст или водяной знак. Но это именно пользовательская программа с графическим сценарием. GraphicsMagick лучше подходит для тех случаев, где обработка должна выполняться без участия человека. FastStone Photo Resizer ориентирован на пакетную конвертацию, переименование, resize, crop, rotate, изменение глубины цвета, добавление текста и watermark.

IrfanView хорош как быстрый просмотрщик с полезными дополнительными функциями. Он удобен для просмотра папок, простого редактирования и пакетной конвертации через FileBatch Conversion/Rename. Но GraphicsMagick сильнее в автоматизации и работе из скриптов. IrfanView рационален на рабочем компьютере, GraphicsMagick — в потоке обработки.

GIMP нужен, когда изображение редактируют руками. Слои, маски, кисти, выделения, ретушь, сложная цветокоррекция, композиции — это зона GIMP. GraphicsMagick работает иначе: он не дает дизайнеру полноценную рабочую среду, зато быстро выполняет формализованные операции. GIMP — кроссплатформенный свободный графический редактор для GNU/Linux, macOS, Windows и других систем.

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

Pillow — выбор Python-разработчика. Если обработка изображений пишется прямо в Python-коде, Pillow удобнее: открыл файл, изменил размер, сохранил. Но если нужна готовая системная команда, которую можно вызвать из любого языка, GraphicsMagick проще встроить как внешний обработчик. Pillow является развитием Python Imaging Library и добавляет возможности обработки изображений в Python.

Преимущества GraphicsMagick

Хорошо подходит для автоматизации

Главное преимущество GraphicsMagick — работа в скриптах. Команду можно сохранить, повторить, передать другому человеку, встроить в процесс публикации, запускать по расписанию.

Пример:

gm convert input.jpg -resize 1200x1200 -quality 84 +profile "*" output.jpg

Эта команда не зависит от того, кто ее запускает. Она выполняет одинаковые действия и дает предсказуемый результат.

Удобен для пакетной обработки

Одна команда может обработать всю папку:

gm mogrify -resize 1200x1200 *.jpg

Для визуального редактора такая задача превращается в серию действий или запись макроса. В GraphicsMagick это обычный сценарий.

Работает без тяжелого интерфейса

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

Поддерживает много форматов

GraphicsMagick работает с популярными и техническими форматами. Это важно, когда в одной папке могут быть JPEG, PNG, TIFF, GIF, WebP, PDF, PNM или более редкие форматы.

Подходит для серверов

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

Умеет не только конвертировать

GraphicsMagick — не просто конвертер изображений. Он умеет:

  • анализировать файлы;

  • сравнивать изображения;

  • накладывать изображения друг на друга;

  • создавать сетки;

  • делать подписи;

  • применять фильтры;

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

  • создавать новые изображения;

  • работать с анимацией;

  • ограничивать ресурсы.

Команды легко документировать

Команду можно вставить в инструкцию, README, документацию проекта или техническое задание. Это упрощает повторение процесса.

Например:

gm mogrify -path ready -resize 1600x1600 -quality 85 +profile "*" *.jpg

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

Недостатки GraphicsMagick

Порог входа выше, чем у GUI-программ

Новичку проще открыть XnConvert или FastStone Photo Resizer, чем писать:

gm convert input.jpg -resize 1200x1200 -quality 85 +profile "*" output.jpg

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

Нет полноценной современной графической оболочки

gm display позволяет смотреть изображения и выполнять некоторые интерактивные действия, но это не рабочая среда уровня GIMP, Photoshop или Affinity Photo. Здесь нет привычного слоя инструментов для визуальной ретуши.

Ошибки в mogrify могут испортить исходники

mogrify перезаписывает файлы. Если запустить неправильную команду в папке с оригиналами, можно потерять качество или размеры файлов. Поэтому безопасная практика — сначала использовать gm convert на одном файле, затем mogrify -path в отдельную папку.

Поддержка форматов зависит от сборки

На одном компьютере WebP может работать, на другом — нет. На одном сервере PDF конвертируется, на другом команда падает. Причина обычно в библиотеках, с которыми собран GraphicsMagick.

Не все задачи удобно решать одной командой

Можно построить сложные цепочки, но иногда проще использовать Python, Node.js или специализированный редактор. Например, сложная обработка с условиями, анализом содержимого, распознаванием объектов и разными ветками логики лучше реализуется в коде.

Не заменяет ручную ретушь

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

Безопасность при обработке файлов

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

Нужны базовые меры:

  • ограничивать размер файла до обработки;

  • проверять MIME и расширение;

  • работать во временной папке;

  • задавать лимиты памяти и диска;

  • не хранить результат поверх оригинала;

  • не обрабатывать PDF/PostScript без понимания рисков;

  • обновлять системные библиотеки;

  • проверять код завершения команды;

  • логировать ошибки;

  • удалять временные файлы.

Пример с лимитами:

gm convert -limit memory 256MiB -limit disk 1GiB input.png -resize 1200x1200 output.jpg

Для пользовательских загрузок также лучше ограничивать итоговые размеры:

gm convert input.jpg -resize 4000x4000> output.jpg

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

Частые ошибки и решения

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

Ошибка означает, что система не видит исполняемый файл GraphicsMagick. Причины:

  • программа не установлена;

  • путь к gm не добавлен в PATH;

  • терминал открыт до изменения PATH;

  • используется не та оболочка;

  • на Windows команда запускается не из нужной среды.

Проверка:

gm version

Если команда не работает, нужно проверить путь к установленной программе и переменную PATH.

Файл не найден

Частая причина — пробелы в пути. Неправильно:

gm convert my photos/photo.jpg output.jpg

Правильно:

gm convert "my photos/photo.jpg" output.jpg

На Windows:

gm convert "C:UsersUserPicturesphoto 01.jpg" "C:UsersUserPicturesphoto 01.png"

mogrify перезаписал исходники

Это не ошибка программы, а нормальное поведение команды. Чтобы избежать перезаписи, используйте отдельную папку:

mkdir outputgm mogrify -path output -resize 1200x1200 *.jpg

Или сначала тестируйте на одном файле через convert:

gm convert input.jpg -resize 1200x1200 test.jpg

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

Частые причины:

  • отсутствует поддержка PDF/PostScript;

  • не установлен Ghostscript;

  • PDF поврежден;

  • PDF слишком большой;

  • включены ограничения безопасности;

  • страница содержит сложную векторную графику.

Проверка первой страницы:

gm convert -density 150 document.pdf[0] page.png

Если ошибка остается, нужно проверять поддержку PDF в конкретной сборке.

WebP, HEIC, AVIF или JXL не работают

Поддержка современных форматов зависит от библиотек. Проверка:

gm convert -list formats

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

Результат стал хуже

Причины:

  • слишком низкий -quality;

  • повторное сохранение JPEG;

  • слишком сильное уменьшение;

  • неправильное принудительное изменение размера через !;

  • удален важный цветовой профиль;

  • применен резкий фильтр без проверки.

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

Неправильно работает маска файлов

На Linux/macOS *.jpg раскрывает shell. На Windows поведение может отличаться в зависимости от cmd, PowerShell и самой программы. Если команда не находит файлы, проверьте текущую папку:

dir

или:

ls

И используйте кавычки для путей с пробелами.

Кириллица в путях

Современные системы обычно справляются с Unicode-путями, но проблемы возможны в старых оболочках, скриптах и сборках. Для надежности в автоматизации лучше использовать латиницу в технических папках:

C:workimagesinputC:workimagesoutput

Практичные наборы команд

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

mkdir webgm mogrify -path web -resize 1600x1600 -quality 84 +profile "*" *.jpg

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

mkdir thumbsgm mogrify -path thumbs -thumbnail 400x400 -quality 82 +profile "*" *.jpg

Квадратные превью

mkdir squarefor f in *.jpg; do gm convert "$f" -resize 600x600^ -gravity center -crop 600x600+0+0 +repage -quality 84 +profile "*" "square/$f"; done

Конвертация PNG в JPEG

mkdir jpggm mogrify -path jpg -format jpg -quality 85 *.png

Конвертация JPEG в WebP

mkdir webpgm mogrify -path webp -format webp *.jpg

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

mkdir cleangm mogrify -path clean +profile "*" *.jpg

Проверка размеров всех изображений

gm identify -format "%f %wx%hn" *.jpg

Контактный лист

gm montage *.jpg -thumbnail 220x220 -label "%f" -tile 5x -geometry +8+8 sheet.jpg

Наложение логотипа

gm composite -gravity SouthEast -geometry +30+30 logo.png photo.jpg photo-logo.jpg

Сравнение двух файлов

gm compare -metric mse -file diff.png before.png after.png

Лучшие сценарии для GraphicsMagick

GraphicsMagick стоит использовать, если задача формулируется так:

  • Нужно обработать всю папку одинаково.

  • Нужно запускать обработку автоматически.

  • Нужно встроить обработку в сайт.

  • Нужно сделать несколько размеров одного изображения.

  • Нужно удалить EXIF перед публикацией.

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

  • Нужно создать миниатюры без ручного редактора.

  • Нужно сравнить два результата обработки.

  • Нужно собрать сетку из множества картинок.

  • Нужно повторять одну и ту же операцию регулярно.

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

Где GraphicsMagick не лучший выбор

GraphicsMagick не стоит выбирать как основной инструмент, если нужна:

  • ретушь лица;

  • удаление сложных объектов;

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

  • ручное выделение областей;

  • дизайн баннеров;

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

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

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

  • простой интерфейс для неподготовленного пользователя.

Для этих задач лучше использовать GIMP, Photoshop, Affinity Photo, Krita или другой визуальный редактор. GraphicsMagick — не программа для посидеть и красиво поправить фото, а программа для обработать по правилам.

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

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

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

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


Ваш адрес email не будет опубликован. Обязательные поля помечены *