ImageMagick (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Estado de la traducción: esta traducción de ImageMagick fue revisada el 2019-11-17. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Según Wikipedia:

ImageMagick es una suite de software gratuito y de código abierto para mostrar, convertir y editar archivos de imágenes rasterizadas e imágenes vectoriales. Puede leer y escribir más de 200 formatos de archivo de imagen.
Nota: imagemagick utiliza Ghostscript para el análisis de PDF, EPS, PS y XPS. Debido a que ha habido múltiples vulnerabilidades con Ghostscript[1], se compila sin la biblioteca Ghostscript. En su lugar, se recurre a la orden gs pero la misma está desactivada por defecto en /etc/ImageMagick-7/policy.xml con la siguiente línea:
<policy domain="delegate" rights="none" pattern="gs" />
Véase también FS#59778, FS#62171.

Instalación

Instale el paquete imagemagick. Alternativamente, instale graphicsmagick para GraphicsMagick, el cual es una derivación de ImageMagick, que enfatiza la estabilidad de la programación API y la interfaz de línea de órdenes.

Utilización

Consulte ImageMagick(1), o gm(1) para GraphicsMagick.

Las operaciones más populares incluyen -append, -resize, -rotate, -quality y algunas más. Por ejemplo, para combinar varias imágenes en una:

$ convert -append input.pngs output.png
Nota: el signo antes de una opción es importante. Las operaciones opuestas se pueden realizar utilizando un signo más, en lugar de un menos.

Para recortar parte de varias imágenes y convertirlas a otro formato:

$ mogrify -crop ANCHOxALTO+X+Y -format jpg *.png

Donde ANCHO y ALTO es el tamaño de la imagen de salida recortada, y X e Y son los márgenes del tamaño de la imagen de entrada.

Captura de pantalla

Una manera fácil de tomar una captura de pantalla de su sistema actual es utilizar la orden import(1):

$ import -window root screenshot.jpg

import es parte del paquete imagemagick.

Ejecutar import sin la opción -window permite seleccionar una ventana o una región arbitraria de forma interactiva.

Nota: si prefiere la alternativa graphicsmagick, basta con anteponer «gm», por ejemplo, $ gm import -window root screenshot.jpg.

Captura de pantalla de múltiples pantallas X

Si ejecuta twinview o dualhead, simplemente tome la captura de pantalla dos veces y use imagemagick para pegarlas:

import -window root -display :0.0 -screen /tmp/0.png
import -window root -display :0.1 -screen /tmp/1.png
convert +append /tmp/0.png /tmp/1.png screenshot.png
rm /tmp/{0,1}.png

Captura de pantalla de encabezados individuales de Xinerama

Las configuraciones de múltiples encabezados basadas en Xinerama tienen solo una pantalla virtual. Si las pantallas físicas están en diferentes alturas, encontrará un espacio muerto en la captura de pantalla. En este caso, es posible que desee tomar una captura de pantalla de cada pantalla física individualmente. Mientras la información de Xinerama esté disponible desde el servidor X, funcionará lo siguiente:

#!/bin/sh
xdpyinfo -ext XINERAMA | sed '/^  head #/!d;s///' |
while IFS=' :x@,' read i w h x y; do
        import -window root -crop ${w}x$h+$x+$y head_$i.png
done

Captura de pantalla de la ventana activa/enfocada

El siguiente script toma una captura de pantalla de la ventana actualmente enfocada. Funciona con gestores de ventanas de X compatibles con EWMH/NetWM. Para evitar sobrescribir capturas de pantalla anteriores, la fecha actual se utiliza como nombre del archivo.

#!/bin/sh
activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")
activeWinId=${activeWinLine:40}
import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).png

Alternativamente, lo siguiente debería funcionar independientemente del soporte EWMH:

$ import -window "$(xdotool getwindowfocus -f)" /tmp/$(date +%F_%H%M%S_%N).png
Nota: si las capturas de pantalla de algunos programas (dwb y zathura) aparecen en blanco, intente añadir -frame o eliminar -f de la orden xdotool.

Véase también