GraphicsMagick — это бесплатный современный и мощный программный комплекс с открытым исходным кодом для обработки изображений. Изначально он был заимствован из ImageMagick, но с годами превратился в полностью самостоятельный проект, в котором появилось несколько улучшений и дополнительных возможностей. Он работает под управлением всех Unix-подобных операционных систем, таких как Linux и MacOS, а также под управлением Windows.
Программа предлагает полезный и эффективный набор инструментов и библиотек, позволяющих читать, записывать и манипулировать изображениями в более чем 92 известных форматах (таких как GIF, JPEG, JPEG-2000, PNG, PDF, PNM, TIFF).
Программа позволяет создавать составные изображения в формате сетки, из нескольких изображений, а также создавать изображения в поддерживаемых вебформатах, таких как WEBP. Кроме того, программа позволяет изменять размер изображения, повышать резкость, цветокоррекцию, поворачивать и добавлять специальные эффекты к изображениям различных форматов. Важно отметить, что с его помощью можно создавать GIF-анимацию из нескольких изображений и многое другое.
Как установить GraphicsMagick на Linux-системы
В дистрибутивах на базе Debian, таких как Ubuntu и Linux Mint, его можно установить с помощью менеджера пакетов apt, как показано ниже.
$ sudo apt update
$ sudo apt install graphicsmagick
В Arch Linux и Fedora GraphicsMagick можно установить из системных репозиториев по умолчанию с помощью менеджера пакетов, как показано ниже.
$ sudo pacman -S graphicsmagick [On Arch Linux]
$ sudo dnf install GraphicsMagick [On Fedora]
В дистрибутивах на базе RHEL, таких как CentOS Stream, Rocky Linux и Alma Linux, его можно установить из репозитория epel, как показано ниже.
# dnf install epel-release
# dnf install GraphicsMagick
Как использовать GraphicsMagick в Linux
Для доступа к функциям GraphicsMagick используется gm — мощная утилита командной строки, которая предлагает несколько подкоманд, таких как display, animate, convert, montage, compare, identify, composite и многие другие, для доступа к собственно функциям.
Чтобы убедиться в том, что пакет GraphicsMagick установлен в системе, можно выполнить следующую команду.
$ gm display
Затем выполните следующую серию команд для проверки многих аспектов установленного пакета.
$ gm convert -list formats #check that the expected image formats are supported
$ gm convert -list fonts #check if fonts are available
$ gm convert -list delegates #check if delegates (external programs) are configured as expected
$ gm convert -list colors #check if color definitions may be loaded
$ gm convert -list resources #check that GraphicsMagick is properly identifying the resources of your machine
Использование команд GraphicsMagick (gm) в Linux
Ниже приведены основные примеры использования команд gm с указанными опциями.
Просмотр изображения в терминале Linux
Чтобы вывести или просмотреть изображение в терминале, выполните следующую команду.
$ gm display girlfriend.jpeg
Изменение размера изображения в терминале Linux
Чтобы изменить размер изображения по ширине, укажите ширину и высоту, которые будут автоматически пропорционально изменены, как показано ниже.
$ gm convert -resize 300 girlfriend-1.jpeg girlfriend-1-resize-300.jpeg
$ gm display girlfriend-1-resize-300.png
Можно также задать ширину и высоту, и команда изменит размер изображения в соответствии с этими параметрами, не изменяя пропорций.
$ gm convert -resize 300x150 girlfriend-1.jpeg girlfriend-1-resize-300x150.jpeg
$ gm display girlfriend-1-resize-300.png
Создание анимированного изображения в терминале Linux
Для создания анимированного изображения из нескольких изображений, находящихся в текущем рабочем каталоге, можно воспользоваться следующей командой.
$ gm animate *.png
Примечание: Качество приведенного выше изображения низкое, поскольку мы провели оптимизацию для уменьшения размера изображения.
Преобразование изображений в терминале Linux
Чтобы преобразовать изображение из одного формата в другой, например, из .jpeg в .png и наоборот.
$ gm convert girlfriend.jpeg girlfriend.png
Можно также создать каталог визуальных изображений, содержащий все изображения в формате .png, как показано ниже.
$ gm convert 'vid:*.jpeg' all_png.miff
$ gm display all_png.miff
Создание составного изображения в терминале Linux
Кроме того, можно создать составное изображение (в формате сетки) из отдельных изображений, как показано ниже.
$ gm montage girlfriend.jpeg girlfriend-1.jpeg girlfriend-2.jpeg composite_image.png
$ gm display composite_image.png
С помощью команды gm можно сделать очень многое, в этой статье мы рассмотрели лишь несколько основных примеров. Вы можете увидеть все опции для команды gm и ее подкоманд, например, convert, type:
$ gm -help
$ gm help convert