Truco Linux: Cómo convertir masivamente entre formatos de imagen

ImageMagick es un paquete de herramientas de línea de comandos para la manipulación de ficheros de imágenes. Es tal su potencia que se ha popularizado mucho su uso en servidores web como apoyo al backend de los sitios alojados. En el truco de esta semana quiero centrarme en la que probablemente sea la herramienta más útil y conocida de las que ofrece ImageMagick: el conversor de formatos convert.

Supongamos que tenemos un buen número de imágenes para publicar en nuestra web en un formato que no nos conviene. Basta con que realicemos un bucle sobre la lista de imágenes convirtiendo cada una al formato deseado.
[code]
$ for i in *.jpg
> do
> echo «Convirtiendo $i…»
> convert -quality 75 $i $(basename $i .jpg).png
> done
[/code]

En el ejemplo hemos hecho una conversión desde JPG a PNG con un nivel de compresión concreto (75) para los ficheros de destino. Como se puede apreciar en la línea del comando convert, podemos incluir los parámetros que queramos para modificar el resultado a nuestro gusto. Dichos parámetros los podemos consultar en su manual electrónico (man convert). Además, hemos extraído el nombre base de cada fichero con el comando basename y le hemos añadido el sufijo .png.

La gran ventaja de convert (aparte de su rapidez y versatilidad) es que, al ser una utilidad de línea de comandos, la podemos ejecutar directamente en el servidor web, sin tener que bajarnos las imágenes, procesarlas y subirlas de nuevo.

Por cierto, convert no sólo convierte entre formatos de imagen, sino que también es capaz de realizar numerosas operaciones sobre imágenes: redimensionamiento, recorte, emborronamiento, optimización, rotación, unión, etc. La lista completa de posibilidades se encuentra en su web oficial.

Si no contamos con convert en nuestro sistema, basta con instalar ImageMagick. En Debian lo hacemos como habitualmente:

# apt-get install imagemagick

Hasta el truco de la semana que viene.