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

Deja un comentario