Pocas son las tareas, si es que hay algunas, que no pueden realizarse desde la línea de comandos con un poco de práctica y experiencia. La manipulación de imágenes no es una excepción, y en este post explicaremos cómo utilizar una suite muy completa llamada ImageMagick para llevarla a cabo.
Si bien en Linux también existen programas de manipulación de imágenes en el entorno gráfico, hay situaciones en las que realizar esta tarea mediante la línea de comandos es lo más apropiado. Por ejemplo, si deseamos procesar una imagen a través de un script web o de la shell, o si necesitamos realizar esta tarea de forma periódica o sobre muchos archivos a la vez.
Introducción a ImageMagick
Esta suite incluye utilidades para crear, editar, y componer imágenes del tipo mapa de bits. Puede leer, convertir, y crear imágenes en una gran variedad de formatos (su man page indica unos 100), entre los que se destacan GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, y DPX.
Para instalar todas las herramientas, utilizaremos uno de los siguientes comandos de acuerdo a la distribución que estemos utilizando.
En Debian y familiares:
sudo aptitude install imagemagick
En CentOS:
yum install ImageMagick
Antes de continuar, es una buena idea que nos tomemos unos minutos para repasar el man page a fin de darnos una idea más amplia de las capacidades de la suite.
Lista de las utilidades incluidas
Para finalizar este post, compartiremos la lista de las utilidades de Imagemagick más utilizadas, mientras que en el próximo veremos algunos ejemplos.
- convert: redimensiona y convierte imágenes entre dos formatos. También puede agregar varios efectos al resultado.
- identify: describe el formato y las características de una o más imágenes.
- mogrify: similar a convert, con la diferencia de que modifica la imagen en vez de guardar los cambios en un archivo separado.
- composite: superpone una imagen sobre otra.
- montage: crea una imagen compuesta combinando varios archivos individuales, y opcionalmente los adorna con un borde, y otros efectos.
Espero que este post les haya resultado útil. ¡No se pierdan el próximo para ver los ejemplos!