Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

GraphicsMagick - мощная утилита командной строки для обработки изображений в Linux

Оригинал: GraphicsMagick – A Powerful Image Processing CLI Tool for Linux
Автор: Aaron Kili
Дата публикации: 5 апреля 2018 года
Перевод: А. Кривошей
Дата перевода: ноябрь 2018 года

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

GraphicsMagick предлагает полезный и эффективный набор утилит, а также библиотеки, которые позволяют читать, записывать и обрабатывать ваши изображения в более чем 88 известных форматах (таких как GIF, JPEG, JPEG-2000, PNG, PDF, PNM и TIFF ).

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

Установка GraphicsMagick в Linux

В Debian и его производных, таких как Ubuntu и Linux Mint, вы можете установить его с помощью APT, как показано ниже.

$ sudo apt-get update
$ sudo apt-get install graphicsmagick

В Arch Linux и Fedora, вы можете установить GraphicsMagick из системных репозиториев:

$ sudo pacman -S graphicsmagick    [On Arch Linux]
$ sudo dnf install GraphicsMagick  [On Fedora 25+]

В других дистрибутивах Linux, таких как RHEL, CentOS и Fedora (старые релизы), вы можете скомпилировать GraphicsMagick из исходного кода, как показано ниже.

Установка GraphicsMagick в RHEL и CentOS:

# yum install libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel jasper jasper-devel
# wget -c https://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.28/GraphicsMagick-1.3.28.tar.xz
# xz -c GraphicsMagick-1.3.28.tar.xz | tar -xvf -
$ cd GraphicsMagick-1.3.28/
$ ./configure 
$ make
$ make install

Установка GraphicsMagick в Fedora:

# dnf install libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel jasper jasper-devel
# wget -c https://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.28/GraphicsMagick-1.3.28.tar.xz
# xz -c GraphicsMagick-1.3.28.tar.xz | tar -xvf -
$ cd GraphicsMagick-1.3.28/
$ ./configure 
$ make
$ make install

Для доступа к функциям GraphicsMagick используйте gm - мощную утилиту командной строки, которая включает несколько суб-команд для доступа к разным функциям, таких как display, animate, concert, montage, compare, identify, composite и многих других.

Убедитесь, что пакет GraphicsMagick установлен в системе, с помощью следующей команды:

$ gm display

GraphicsMagick

Затем выполните приведенные ниже команды для проверки различных аспектов установленного пакета.

$ gm convert -list formats	#проверьте, поддерживаются ли ожидаемые форматы изображений
$ gm convert -list fonts	#проверьте, имеются ли шрифты
$ gm convert -list delegates	#проверьте, что делегаты (внешние программы) настроены так, как ожидалось
$ gm convert -list colors	#проверьте, могут ли быть загружены определения цвета
$ gm convert -list resources	#убедитесь, что GraphicsMagick правильно идентифицирует ресурсы вашей машины

Использование GraphicsMagick в Linux

Ниже приведены некоторые основные примеры использования команды gm с этими опциями.

1. Чтобы просмотреть изображение в терминале, выполните следующую команду.

$ gm display girlfriend.jpeg

display

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

$ gm convert -resize 300 girlfriend-1.jpeg girlfriend-1-resize-300.jpeg
$ gm display girlfriend-1-resize-300.png

resize

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

$ gm convert -resize 300x150 girlfriend-1.jpeg girlfriend-1-resize-300x150.jpeg
$ gm display girlfriend-1-resize-300.png

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

$ gm animate *.png	

animate

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

4. Чтобы преобразовать изображение из одного формата в другой, например .jpeg в .png, или наоборот:

$ gm convert girlfriend.jpeg girlfriend.png

5. Затем вы можете создать каталог визуальных образов всех ваших изображений .png, как показано ниже.

$ gm convert 'vid:*.jpeg' all_png.miff
$ gm display all_png.miff

каталог визуальных образов

6. Кроме того, можно создать составное изображение (в формате сетки) из отдельных изображений, как показано ниже.

$ gm montage girlfriend.jpeg girlfriend-1.jpeg girlfriend-2.jpeg composite_image.png
$ gm display composite_image.png 

составное изображение

С помощью команды gm вы можете сделать очень многое, мы рассмотрели только несколько основных примеров ее использования. Вы можете вывести все опции для gm и ее подкоманды, например, convert, следующим образом:

$ gm -help
$ gm help convert

Дополнительную информацию можно получить, посетив домашнюю страницу GraphicsMagick: http://www.graphicsmagick.org/