GraphicsMagick: una potente herramienta CLI de procesamiento de imágenes para Linux


GraphicsMagick es un paquete de software de código abierto, moderno y poderoso para procesar imágenes. Inicialmente se derivó de ImageMagick, sin embargo, a lo largo de los años, se ha convertido en un proyecto totalmente independiente, con una serie de mejoras y características adicionales. Se ejecuta en todos los sistemas operativos similares a Unix, como Linux, MacOS, y también se ejecuta en Windows.

Ofrece una variedad de herramientas útiles y eficientes, así como bibliotecas que permiten leer, escribir y manipular sus imágenes en más de 88 formatos bien conocidos (como GIF, JPEG, JPEG-2000, PNG, PDF, PNM y TIFF ).

Puede crear una imagen compuesta en formato de cuadrícula, a partir de varias imágenes, y crear imágenes en formatos compatibles con la web, como WEBP. También se utiliza para cambiar el tamaño de la imagen, enfocar, reducir el color, rotar o agregar efectos especiales a imágenes de varios formatos. Es importante destacar que puede crear una animación GIF a partir de varias imágenes y mucho más.

Cómo instalar GraphicsMagick en sistemas Linux

En Debian y sus derivados, como Ubuntu y Linux Mint, puede instalarlo usando el administrador de paquetes APT como se muestra.

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

En Arch Linux y Fedora, puede instalar GraphicsMagick desde los repositorios del sistema predeterminados usando el administrador de paquetes como se muestra.

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

En otras distribuciones de Linux como RHEL, CentOS y Fedora (versiones anteriores), puede compilar GraphicsMagick a partir del código fuente como se muestra.

----------- Install GraphicsMagick on RHEL and 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
----------- Install GraphicsMagick on 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

Para acceder a las funciones de GraphicsMagick, use gm , una poderosa utilidad de línea de comandos, que ofrece varios subcomandos como mostrar, animar, concertar, montar, comparar, identificar, componer y muchos más, para acceder al funciones reales.

Para confirmar que el paquete GraphicsMagick se ha instalado en su sistema, puede ejecutar el siguiente comando.

$ gm display 

Luego, ejecute la siguiente serie de comandos para verificar muchos aspectos del paquete instalado.

$ 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

Aprenda a usar GraphicsMagick en Linux

A continuación se muestran algunos ejemplos básicos de cómo usar el comando gm con estas opciones.

1. Para mostrar o ver una imagen desde la terminal, ejecute el siguiente comando.

$ gm display girlfriend.jpeg

2. Para cambiar el tamaño de una imagen con un nuevo ancho, especifique un ancho y la altura se escalará automáticamente proporcionalmente como se muestra.

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

También puede definir un ancho y un alto, y el comando cambiará el tamaño de la imagen a esas dimensiones sin alterar las proporciones.

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

3. Para crear una imagen animada de varias imágenes en el directorio de trabajo actual, puede utilizar el siguiente comando.

$ gm animate *.png	

Nota: La calidad de la imagen animada anterior es deficiente, porque la hemos optimizado para reducir el tamaño de la imagen.

4. Para convertir una imagen de un formato a otro, por ejemplo .jpeg a .png y viceversa.

$ gm convert girlfriend.jpeg girlfriend.png

5. A continuación, puede crear un directorio de imágenes visuales de todas sus imágenes .png como se muestra.

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

6. Además, es posible crear una imagen compuesta (en formato de cuadrícula) a partir de imágenes separadas como se muestra.

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

Hay muchas cosas que puede hacer con el comando gm, acabamos de cubrir algunos ejemplos básicos en este artículo. Puede ver todas las opciones para gm y su subcomando, por ejemplo, convertir, escriba:

$ gm -help
$ gm help convert

Para obtener más información, visite la página de inicio de GraphicsMagick: http://www.graphicsmagick.org/

GraphicsMagick es un sistema de procesamiento de imágenes potente y rico en funciones para Linux y otros sistemas similares a Unix. Si tiene alguna pregunta o idea para compartir, utilice el formulario de comentarios a continuación.