Hoy vamos a hablar de un compresor de imágenes PNG, totalmente gratuito, basado en una biblioteca portátil libimagequant. Cuyo objetivo es reducir el tamaño del archivo significativamente, al convertir la imagen PNG a un formato PNG de 8 bits más eficiente, conservando la transparencia alfa completa. Recordá que los archivos PNG de 8 bits son entre un 60-80% más pequeños que los archivos PNG de 24/32 bits y tienen buena calidad.
La herramienta en cuestión se llama Pngquant, veamos algunas de sus características más importantes:
- Compresor de archivos PNG.
- 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.
Podemos tener más detalles en la página de GitHub del proyecto o en su sitio web.
Instalar el compresor pngquant
Debian apt install pngquant CentOS (requiere repositorios epel) yum install epel-release && yum install pngquant
Uso básico
Una vez instalado vamos a usarlo de la siguiente forma:
pngquant archivo.png
Antes que nada vamos a ver unos archivos de ejemplo que tengo y el tamaño, posteriormente usamos pngquant y volvemos a revisar el tamaño del archivo comprimido.
Para ver el tamaño del archivo imagen usamos du:
du -sh *
Para comprimir, usamos el archivo llamado captura1.png que pesa 360k:
pngquant captura1.png
Va a generar un archivo con el mismo nombre con un -fs8 el cual pueden ver que bajo a 100k.
Podemos comprimir varios archivos a la vez:
pngquant captura1.png captura2.png
O podemos comprimir todos los archivos de una carpeta:
pngquant /home/nksistemas/Imágenes/*.png
Podemos establecer la calidad de imagen en el rango 0 (peor) a 100 (perfecto) usando los parámetros mínimo y máximo. Vamos a generar una imagen mínima en 60 y la calidad máxima en 80.
pngquant --quality=60-80 captura1.png




