Este script utiliza ImageMagick y jpegoptim para convertir imágenes a JPEG, reducir su tamaño, corregir su orientación y prepararlas para publicarlas en una página web
El formato WebP permite almacenar imágenes con una buena relación entre calidad y tamaño, por lo que se ha convertido en una opción habitual en páginas web, gestores de contenidos y servicios de imágenes.
Sin embargo, todavía encontramos aplicaciones, editores y procedimientos de trabajo que funcionan mejor con archivos JPG. También puede ocurrir que descarguemos una imagen WebP y necesitemos convertirla antes de editarla, enviarla o incorporarla a un proyecto.
Podemos realizar la conversión manualmente mediante ImageMagick, pero cuando hacemos este trabajo con frecuencia resulta mucho más cómodo disponer de un script que automatice todo el proceso.
El script convierteimagen.sh convierte imágenes WebP, PNG, JPEG, GIF y otros formatos compatibles con ImageMagick a JPG. De forma predeterminada, limita su anchura a 1.200 píxeles y optimiza el resultado mediante jpegoptim.
Qué hace el script
El funcionamiento predeterminado es sencillo. Si le entregamos un archivo llamado:
fotografia.webp
El script generará:
fotografia-cvd.jpg
(-cvd, es nuestra firma, pon tu la tuya)
El archivo original no se modifica ni se elimina.
Durante el proceso, el script realiza diferentes operaciones:
- Comprueba que la imagen de entrada existe.
- Detecta si el sistema utiliza
magick o el antiguo comando convert.
- Corrige automáticamente la orientación indicada por los datos EXIF.
- Sustituye las transparencias por un fondo blanco.
- Mantiene la proporción original de la imagen.
- Reduce la anchura a un máximo de 1.200 píxeles.
- Evita ampliar imágenes que ya sean más pequeñas.
- Convierte el resultado al formato JPEG.
- Optimiza el archivo mediante
jpegoptim.
- Elimina metadatos innecesarios.
- Admite nombres de archivos que contienen espacios.
- Puede procesar varias imágenes en una sola ejecución.
- No sobrescribe archivos existentes sin autorización.
También permite elegir otra anchura, modificar la calidad del JPEG o realizar la conversión sin cambiar las dimensiones.
Instalar las dependencias
El script necesita dos herramientas: ImageMagick y jpegoptim.
ImageMagick se encarga de leer, transformar y convertir las imágenes. jpegoptim realiza la optimización final del archivo JPEG.
En Fedora podemos instalarlas con:
sudo dnf install ImageMagick jpegoptim
En Debian, Ubuntu, Linux Mint y distribuciones derivadas utilizaremos:
sudo apt update
sudo apt install imagemagick jpegoptim
Para comprobar que ambas herramientas están disponibles podemos ejecutar:
magick -version
jpegoptim --version
En sistemas que todavía utilicen ImageMagick 6, es posible que el primer comando se llame convert:
convert -version
El script detecta automáticamente cuál de los dos está disponible.
Crear el script
Podemos guardar el programa en /usr/local/bin, una ubicación apropiada para scripts instalados localmente y disponibles para todos los usuarios del equipo.
Abrimos el archivo con nuestro editor:
sudo nano /usr/local/bin/convierteimagen.sh