script - imagemagick cambio de tamaño y calidad PNG
imagemagick ubuntu (3)
En mi aplicación, necesito cambiar el tamaño y empobrecer la calidad de los archivos PNG.
En tamaño completo, los PNG son 3100x4400px con un espacio de disco de 2,20 MB.
Al ejecutar el siguiente comando:
convert -resize 1400 -quality 10 input.png output.png
las imágenes cambian de tamaño a 1400x2000 con 5,33 MB de espacio en disco.
Entonces mi pregunta es: ¿cómo puedo reducir el tamaño del archivo?
La página de ayuda dice que la opción de calidad utilizada con PNG establece el nivel de compresión para zlib, donde (aproximadamente) 0 es la peor compresión, 100 - es la mejor (el valor predeterminado es 75). Por lo tanto, intente ajustar la -quality
a 100 o incluso eliminar la opción.
Otro método es especificar PNG:compression-level=N
, PNG:compression-strategy=N
y PNG:compression-filter=N
para lograr incluso mejores resultados.
http://www.imagemagick.org/script/command-line-options.php#quality
Encontré que la mejor manera era usar el
- density [value]
parámetro.
Puede reducir aún más la calidad de PNG mediante el uso de la posterización:
https://github.com/pornel/mediancut-posterizer ( Mac GUI )
Esta es una operación con pérdida que permite que zlib se comprima mejor.
Convierta la imagen a PNG8 usando pngquant .
Reduce las imágenes a 256 colores, por lo que la calidad depende del tipo de imagen, pero pngquant hace muy buenas paletas, por lo que te sorprenderá la frecuencia con la que funciona.
Use Zopfli-png o AdvPNG para comprimir mejor las imágenes.
Esto es sin pérdidas y se recomienda para todas las imágenes si tiene ciclos de CPU de sobra.