ImageMagick: qué es, para qué sirve, descargar...

ImageMagick: qué es, para qué sirve, descargar...

ImageMagick es una herramienta de código abierto que permite editar imágenes desde la línea de comandos de Windows o Linux. Puede leer, convertir y guardar imágenes en una en más de 200 formatos.

¿Cuáles son las ventajas de ImageMagick?

Esta herramienta permite:

  1. Automatizar la edición de imágenes (esto evita tener que hacer ciertas manipulaciones en Photoshop o Gimp).
  2. Convertir imágenes de un formato a otro.
  3. Añadir texto o formas a una imagen.
  4. Integrarlo a tus programas o script (esto permite que tus programas o scripts generen y manipulen imágenes rápidamente). Por ejemplo, puede ser utilizado en PHP para generar imágenes.

¿Cómo instalar ImageMagick en Windows?

  1. Descarga ImageMagick aquí.
  2. Instálalo y durante la instalación no olvides marcar la casilla "Update executable search path".
  3. Cierra la sesión y vuélvela a abrir (o reinicia el PC).
  4. Para comprobar la instalación abre una ventana MS-DOS y escribe:
convert -version

Debe aparecer:

Version: ImageMagick 6.3.3 04/08/07 Q16 file:///usr/local/share/doc/ImageMagick 
6.3.3/index.html 
Copyright: Copyright (C) 1999-2007 ImageMagick Studio LLC

¿Cómo editar imágenes desde la línea de comandos?

Convertir una imagen de un formato a otro

  • Convertir una imagen bmp a png:
convert image.bmp image.png
  • Convertir una imagen bmp a jpg progresiva con calidad 70%:
convert image.bmp -interlace line -quality 70 image.png

La opción -quality x permite ajustar la calidad de la imagen JPEG.

La opción -interlace line permite crear imágenes JPEG progresivas.

Preparar una foto para la Web

Algunas cosas que podemos hacer:

  1. Disminuir la resolución de la imagen (por ejemplo, pasar de 2592x1944 - 5 Megapíxeles a 800x600).
  2. Comprimir a JPEG progresivo para conseguir así una visualización inmediata de la imagen en la página.
  3. Eliminar la información inútil (comentarios, información EXIF….) Dicha información complementaria (miniatura, nombre del programa que creó el archivo, configuración de la cámara al momento de la toma (EXIF), etc.) es ignorada por los navegadores:
convert maphoto.jpg -resize 800x600 -strip -quality 50 -interlace line imageweb.jpg
  • resize AxB redimensiona la imagen a el tamaño que deseas.
  • strip elimina información adicional (EXIF, comentarios...).
  • quality 50 permite tener una calidad de 50% para la compresión JPEG.
  • interlace line permite crear una imagen JPEG progresiva.

Añadir texto a una imagen

Añadir texto a una imagen suele ser utilizado para evitar que utilicen una imagen sin tu autorización:

convert -size 150x50 xc:none -matte -pointsize 20 -fill#ffffff80 -draw "text 10,30 
'Mon copyright'" miff:- |composite -tile - photo.jpg resultat.jpg
Qué es ImageMagick
© ImageMagick

Aplicar una transformación a un grupo de imágenes

En los ejemplos precedentes hemos utilizado únicamente una imagen para que resulte más sencillo. Sin embargo, es posible efectuar estas operaciones a varias imágenes a la vez.

  • Comprimir las imágenes JPEG del directorio actual a una calidad de 70% (salida en el subdirectorio output):
FOR %%G IN (*.jpg) DO convert "%%G" -strip -quality 70 -interlace plane "output/%%G"
  • Convertir todos los archivos .BMP a .JPG conservando el mismo nombre:
FOR %%G IN (*.bmp) DO convert "%%G" -strip -quality 70 -interlace plane "%%~nG.jpg"

~n significa que únicamente consideramos el nombre del archivo (sin su extensión).

Otras herramientas de edición