Pngquant, utilidad de línea de comandos para comprimir imágenes PNG
En el siguiente artículo vamos a echar un vistazo a pngquant. Este es un compresor PNG con pérdida para utilizar desde la línea de comandos. Es gratuito, de código abierto y multiplataforma. Este programa nos va a dar la posibilidad de convertir imágenes PNG a un formato PNG de 8 bits con un archivo de canal alfa para reducir el tamaño.
Este compresor de imágenes PNG gratuito está basado en una biblioteca portátil libimagequant y está escrito en C99. Reduce significativamente el tamaño del archivo al convertir la imagen PNG a un formato PNG de 8 bits más eficiente, conservando la transparencia alfa completa. Los archivos PNG de 8 bits suelen ser un 60-80% más pequeños que los archivos PNG de 24/32 bits. Las imágenes comprimidas con Pngquant son totalmente compatibles con todos los navegadores web y sistemas operativos. Además este software puede comprimir una o varias imágenes a la vez.
Características generales de Pngquant
- Se trata de un compresor PNG con pérdida.
- Está basado en una biblioteca portátil libimagequant.
- Hace que las imágenes PNG sean 3-4 veces más pequeñas con una pérdida mínima de calidad.
- Soporta transparencia alfa.
- Es compatible con todos los navegadores y sistemas operativos.
- Genera paletas de alta calidad.
- Utiliza un algoritmo de interpolación único que no agrega ruido innecesario a la imagen.
- El nivel de calidad es configurable.
- Encuentra automáticamente la cantidad requerida de colores y puede omitir imágenes que no se pueden convertir con la calidad deseada.
Estas son solo algunas de las características de este compresor para la línea de comandos. Se pueden consultar todas ellas más en detalle en la página de GitHub del proyecto o en su sitio web.
Instalar el compresor pngquant PNG mediante snap
Los usuarios de Ubuntu vamos a poder instalar el compresor Pngquant utilizando su correspondiente paquete Snap. Para este ejemplo, en Ubuntu 18.04 solo tendremos que abrir una terminal (Ctrl+Alt+T) y escribir en ella el siguiente comando de instalación:
sudo snap install pngquant
Uso básico
Tras la instalación ya podemos comenzar a utilizar pngquant. Podremos utilizar el programa de la siguiente forma para comprimir un archivo png:
pngquant nombre-del-archivo.png
Por ejemplo, si quisiésemos comprimir un archivo un archivo llamado ubunlog.png que en este caso tengo en la carpeta Imágenes, tendremos que ejecutar los siguientes comandos:
cd Imágenes
Antes de la compresión vamos a ver el tamaño del archivo con el comando:
du -sh ubunlog.png
Después de ver el tamaño en la anterior captura de pantalla que en este caso es de 16K, ya podemos iniciar la compresión con el comando:
pngquant ubunlog.png
El nombre de archivo de salida en este ejemplo es el mismo que el nombre de entrada, excepto que va a terminar en ‘-fs8.png‘. Como se puede ver en la anteror captura, en este ejemplo el nombre del archivo de salida va a ser ‘ubunlog-fs8.png‘
Ahora vamos a ver el tamaño del archivo de imagen comprimida, que en este ejemplo se redujo hasta los 8K:
du -sh ubunlog-fs8.png
Comprime varias imágenes PNG
Pngquant también puede convertir múltiples imágenes. El siguiente comando comprimirá imagen1.png y imagen2.png en el directorio de trabajo actual.
pngquant imagen1.png imagen2.png
Además, podemos comprimir todos los archivos .png situados en un directorio de una vez. Por ejemplo, para comprimir todas las imágenes dentro de una carpeta llamada ‘/home/entreunosyceros/Imágenes‘, ejecutaremos:
pngquant /home/entreunosyceros/Imágenes/*.png
Cambiar el sufijo en el nombre del archivo de salida
Como ya dije, el nombre del archivo de salida es el mismo que el nombre de entrada, excepto que termina en ‘-fs8.png’. Sin embargo, vamos a poder cambiar este sufijo como queramos de la siguiente forma:
pngquant ubunlog.png --ext -imagen.png
Este comando comprimirá el archivo ubunlog.png y lo guardará como ubunlog-imagen.png.
Comprime imágenes en calidad personalizada
Pngquant comprime las imágenes tanto como sea posible. También podemos configurar manualmente la calidad de las imágenes. Pngquant nos permite establecer la calidad de imagen en el rango 0 (peor) a 100 (perfecto) usando los parámetros mínimo y máximo.
El siguiente ejemplo establece la calidad de imagen mínima en 60 y la calidad máxima en 80.
pngquant --quality=60-80 image.png
Si la conversión produce una calidad inferior a la calidad mínima, la imagen no se guardará.
Ayuda de Pngquant
Estos comandos son solo algunos ejemplos de compresión básica utilizando pngquant. Vamos a poder ver la lista completa de opciones disponibles ejecutando el siguiente comando en la misma terminal:
pngquant -h