Pngquant es un compresor de PNG con pérdida de línea de comandos gratuito, de código abierto y multiplataforma. Se basa en un libimagequant portátil biblioteca y está escrito en C99 . Reduce significativamente el tamaño del archivo al convertir la imagen PNG a 8 bits más eficiente PNG y conserva la transparencia alfa completa . Como ya sabrá, 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. Pngquant puede comprimir una o varias imágenes a la vez. En esta guía, veamos cómo instalar Pngquant y cómo comprimir imágenes PNG en Linux usando Pngquant.
Características
Pngquant tiene las siguientes características.
- Soporte para la conversión por lotes de múltiples archivos PNG.
- Generación de paletas de alta calidad.
- Utiliza el algoritmo de cuantificación Median Cut para optimizar las imágenes.
- Se puede integrar fácilmente con scripts de shell, GUI y software del lado del servidor.
- Convierte imágenes en la calidad deseada y omite las imágenes que no se pueden convertir con la calidad deseada.
- Compatibilidad con varios núcleos y optimizaciones Intel SSE.
Instalar Pngquant en Linux
Pngquant se puede instalar de muchas maneras.
Instalar Pngquant desde los repositorios de distribución
Pngquant está disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux.
En Arch Linux y sus variantes, Pngquant está disponible en [Comunidad] repositorio. Habilite el repositorio de la comunidad e instálelo usando Pacman como a continuación.
$ sudo pacman -S pngquant
En Debian, Ubuntu, Linux Mint:
$ sudo apt install pngquant
En los sistemas Ubuntu, debe habilitar [Universo] repositorio para instalar Pngquant.
Para habilitar el repositorio Universe, haz lo siguiente:
$ sudo add-apt-repository universe
En Fedora:
$ sudo dnf install pngquant
En openSUSE:
$ sudo zypper install pngquant
En CentOS:
$ sudo yum install epel-release
$ sudo yum install pngquant
Compruebe la versión de Pngquant instalada:
$ pngquant -V 2.5.0 (June 2015)
La versión de Pngquant disponible en los repositorios predeterminados puede ser antigua. Si desea la versión más reciente, compílela e instálela manualmente desde la fuente como se muestra a continuación.
Instalar Pngquant desde la fuente
Primero, instala las dependencias necesarias.
En Debian, Ubuntu:
$ sudo apt install git gcc cmake libpng-dev pkg-config
En CentOS, Fedora:
$ sudo yum install git libpng-devel gcc cmake
A continuación, git clona la última versión de Pngquant:
$ git clone --recursive https://github.com/kornelski/pngquant.git
El comando anterior descargará el contenido del repositorio Pngquant GitHub y lo guardará en una carpeta llamada "pngquant" en su directorio de trabajo actual.
Cambia al "directorio pngquant:
$ cd pngquant
Finalmente, ejecute los siguientes comandos para compilar e instalar Pngquant:
$ make
$ sudo make install
Pngquant se instalará en /usr/local/bin ubicación por defecto. Si desea instalarlo en otro directorio, ejecute:
$ ./configure --prefix=dir && make
Reemplace "dir" con su ruta. Primero debe ejecutar este comando y luego ejecutar el comando "sudo make install".
Compruebe la versión de Pngquant:
$ pngquant -V 2.12.5 (July 2019)
¿Ver? Es la versión más reciente.
Instalar Pngquant usando Cargo
Pngquant también se puede instalar usando Cargo gerente de empaquetación. Primero, instala Rust como se describe en el siguiente enlace.
- Instalar el lenguaje de programación Rust en Linux
git clone la última versión de Pngquant:
$ git clone --recursive https://github.com/kornelski/pngquant.git
Finalmente, construya e instale Pngquant usando Cargo como se muestra a continuación.
$ cd pngquant
$ sudo cargo build --release
Para conocer otros métodos de instalación, consulte la página de instalación oficial de Pngquant. .
Comprime imágenes PNG en Linux usando Pngquant
El uso de Pngquant es trivial y no requiere ninguna habilidad especial para usarlo.
Tengo un archivo de imagen PNG llamado "ostechnix.png" en mi directorio actual. Déjame mostrarte su tamaño.
$ du -sh ostechnix.png 152K ostechnix.png
Como puede ver, el tamaño de la imagen es 152k .
Comprimir una imagen PNG
Para comprimir una imagen PNG con Pngquant, solo proporcione su ruta como se muestra a continuación:
$ pngquant ostechnix.png
El comando anterior comprimirá el archivo ostechnix.png y lo guardará como un archivo nuevo con el nombre "ostechnix-fs8.png" . De forma predeterminada, Pngquant usará el mismo nombre de archivo de salida que el nombre de archivo de entrada con el sufijo -or8.png o -fs8.png al final. Lo que significa que no sobrescribirá el archivo fuente. Si no está satisfecho con la tasa de compresión, simplemente elimine el archivo comprimido y conserve el original.
Verifiquemos nuevamente el tamaño del archivo de imagen comprimida:
$ du -sh ostechnix-fs8.png 48K ostechnix-fs8.png
Comprimir imágenes PNG usando Pngquant
¿Ver? Pngquant ha reducido los 152k tamaño de la imagen a solo 48k . De hecho, es un buen trabajo. Abre la imagen usando cualquier visor de imágenes y compáralas. No encontrará mucha diferencia en la calidad entre las imágenes originales y comprimidas. ¡Ambas imágenes se verán casi iguales!
Mostrar mensaje de estado durante la compresión
De forma predeterminada, Pngquant no mostrará lo que sucede detrás de escena al comprimir imágenes. Si desea ver el mensaje de estado, use este comando:
$ pngquant ostechnix.png --verbose ostechnix.png: conserving memory read 152KB file corrected image from gamma 2.2 to sRGB gamma made histogram...1854 colors found selecting colors...4% selecting colors...25% selecting colors...28% selecting colors...49% selecting colors...69% selecting colors...90% selecting colors...100% moving colormap towards local minimum eliminated opaque tRNS-chunk entries...61 entries transparent mapped image to new colors...MSE=0.055 (Q=99) writing 256-color image as ostechnix-fs8.png No errors detected while quantizing 1 image.
Ahora verá el progreso mientras se realiza la compresión.
Comprimir múltiples 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 picture1.png picture2.png
Además, podemos mover todos los archivos en un directorio y comprimirlos de una sola vez. Por ejemplo, para convertir todas las imágenes en una carpeta llamada "/home/sk/images", ejecute:
$ pngquant /home/sk/images/*.png
Cambiar el sufijo del 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" , "-o8.png" . Sin embargo, puede cambiar el sufijo como desee, como se muestra a continuación.
$ pngquant ostechnix.png --ext linux.png
Este comando comprimirá el archivo ostechnix.png y lo guardará como ostechnixlinux.png .
Omita guardar archivos si el tamaño de los archivos comprimidos es más grande que los archivos originales
¿Cuál es el punto de compresión si los archivos convertidos son más grandes que los archivos de origen? Esa conversión no vale la pena, así que podemos omitirla como se muestra a continuación.
$ pngquant --skip-if-larger ostechnix.png
El comando anterior solo guardará el archivo convertido si es más pequeño que el original.
Guardar archivos convertidos en una ruta diferente
De forma predeterminada, Pngquant guardará los archivos de imagen de entrada y salida en el mismo directorio. Si desea guardar el archivo de salida en otro lugar, el comando sería:
$ pngquant ostechnix.png --output Documents/output.png
Este comando comprimirá ostechnix.png y lo guardará como output.png en Documentos directorio.
Comprimir imágenes PNG 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 la imagen en el rango 0 (peor) a 100 (perfecto) usando min y máx parámetros.
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 da como resultado una calidad inferior a la calidad mínima, la imagen no se guardará.
Metadatos de la imagen de la tira
Los metadatos de imagen son un conjunto de datos sobre los magos. Incluye toda la información sobre una imagen, como formato de imagen, configuración de la cámara, DPI, fecha y hora de la imagen, título y comentarios, geolocalización y mucho más. Consulte el siguiente artículo para saber cómo ver los metadatos de la imagen.
- Cómo ver metadatos de imágenes en Linux
Si no tiene los metadatos, simplemente puede eliminarlos usando pngquant como se muestra a continuación.
$ pngquant --strip image.png
Para obtener más detalles, consulte las páginas man.
$ man pngquant
Lectura sugerida:
- Converseen:un sencillo convertidor gráfico de imágenes por lotes y redimensionador
- 3 visores de imágenes CLI para mostrar imágenes en la terminal
- Cómo mostrar imágenes en miniatura en la terminal
- Cómo guardar la salida de comandos de Linux en una imagen o un archivo de texto
- Gifski:un codificador de GIF multiplataforma de alta calidad
- Flameshot:una herramienta de captura de pantalla rica en funciones simple pero potente
He estado usando Pngquant durante muchos años. Me ayuda mucho comprimir imágenes PNG hasta un 70% o más. Si está buscando un optimizador y compresor de imágenes PNG, Pngquant podría ser una buena opción.