¿Cómo reducir el tamaño de archivo PNG para web?

16

Tengo un archivo PNG-24 con fondo transparente y su tamaño actual es de 1.5 MB. ¿Cómo reducir el tamaño o usar el formato de archivo PNG-8 y mantener la misma calidad?

ingrese la descripción de la imagen aquí

Archivo PNG desde aquí: http://www19.zippyshare.com/v/69590430/file.html

Imagen de ejemplo cargada Intenté todas las sugerencias pero no hay buenos resultados, por favor avise

Gracias

Bueno, yo soy
fuente
¿Está utilizando Guardar para Web ...? Debería darle opciones para reducir el tamaño, incluida la profundidad de color.
James P
Su imagen de ejemplo es un archivo JPEG. Si desea que las personas prueben diferentes herramientas / métodos, ¡debe proporcionar uno de sus archivos PNG en su lugar ...!
Laurent Parenteau
el cargador del sitio lo convirtió a jpg. aquí está el archivo png s8.postimage.org/z4apal6z9/cw_Copy.png ..... por favor no use posterize ya que no funcionará con otros archivos que tengo ... gracias
Welliam
1
Ese enlace también es un JPEG.
Dan D.
esta vez estoy seguro de que es png www19.zippyshare.com/v/69590430/file.html....... gracias por su ayuda
Welliam

Respuestas:

6

PNG es un formato de compresión sin pérdidas: sin cambiar el material de origen en el archivo, hay muy poca forma de aumentar la compresión más allá del nivel de compresión predeterminado más alto. La única forma real de reducir el tamaño será cambiar la imagen, ya sea reduciendo la resolución o la profundidad de color para que la compresión PNG tenga menos complejidad para trabajar.

Si desea altos niveles de compresión para la imagen y no le importa el almacenamiento de datos sin pérdidas, use JPEG.

mikebabcock
fuente
44
Yo no diría poco. Save for Web de Photoshop es tan pobre que PNGOUT a menudo puede reducir archivos sin pérdidas en un 20-40%. Y Photoshop no es compatible con PNG8 + alpha, que puede ser un 70% más pequeño para algunas imágenes.
Kornel
Las mejores cifras que he visto probadas fueron alrededor del 8-15%, pero no dude en vincularme a mejores datos.
mikebabcock
1
Necesitaba optimizar un solo archivo png y usé tinypng.com para eso. Me ahorró más del 50% de espacio.
9

RIOT puede hacer eso y mucho más.

Radical Image Optimization Tool (RIOT para abreviar) es un optimizador de imagen gratuito que le permitirá ajustar visualmente los parámetros de compresión manteniendo el tamaño mínimo de archivo.

Se utiliza con una interfaz lado a lado (vista dual) o vista única para comparar el original con la imagen optimizada en tiempo real y ver instantáneamente el tamaño del archivo resultante.

El optimizador de imagen es liviano, rápido y fácil de usar, pero potente para usuarios avanzados. Podrá controlar la compresión, la cantidad de colores, la configuración de metadatos y mucho más, y seleccionar el formato de imagen (JPEG, GIF o PNG) para su archivo de salida.

Otra posibilidad es usar una combinación de pngquant, pngout y pngcrush, como se describe aquí , pero esto es desde la línea de comando.

Aquí están las instrucciones de cómo convertir imágenes png24 en png8 por bondad de ie6, a través de la línea de comando usando herramientas de código abierto (creo) pngquant + pngout + pngcrush.

1- cuantiza la imagen en 256 (así que básicamente el aspecto de png8 es basura con sprites grandes o sprites con una amplia gama de colores).

pngquant 256 some_24_bit.png

2- convertir imagen de un png24 a un png8

pngout -c3 -d8 -y -force some_24_bit.png some_8_bit.png

3- comprimir imagen

pngcrush some_8_bit.png -bit_depth 8 -brute -rem alla -reduce some_8_bit_small.png

Laurent Parenteau
fuente
6

Prueba TinyPNG

Desde su sitio web:

¿Como funciona?

Cuando carga un archivo PNG (Portable Network Graphics), se combinan colores similares en su imagen. Esta técnica se llama "cuantización". Debido a que se reduce la cantidad de colores, los archivos PNG de 24 bits se pueden convertir en imágenes de color indexadas de 8 bits mucho más pequeñas. Todos los metadatos innecesarios también se eliminan. El resultado: pequeños archivos PNG con 100% de soporte para transparencia.

Tienen dos opciones:

  • Arrastre y suelte las imágenes en su sitio web y se procesará automáticamente. Servicio gratuito (Hasta 20 imágenes. Máx. 5 MB cada una)
  • Complemento de Photoshop. Esto cuesta $.

No he probado el complemento PS, así que no puedo comentar qué tan bien funciona.

Dhaust
fuente
Este fue un consejo realmente bueno, TinyPNG redujo mi archivo PNG de 24 bits de Photoshop, de 200k a 50k, ¡y retuvo la transparencia combinada! Gracias por su respuesta. NOTA: era casi indistinguible en calidad de imagen.
TripleAntigen
¡Realmente funciona! ¡Mi imagen PNG de 1 MB se convirtió en 253 KB sin perder calidad!
BrunoSerrano
5

Si no le importa la línea de comando, eche un vistazo a OptiPNG , podría ser lo que está buscando.

OptiPNG es un optimizador PNG que vuelve a comprimir los archivos de imagen a un tamaño más pequeño, sin perder ninguna información. Este programa también convierte formatos externos (BMP, GIF, PNM y TIFF) a PNG optimizado, y realiza verificaciones y correcciones de integridad de PNG.

Renan
fuente
Gracias pero falló no mucha optimización !! Subí la imagen
Welliam
3

Use la combinación de pngoutydeflopt . pngoutdeterminará automáticamente si los colores PNG se ajustan a PNG-8 y lo usarán. defloptexprimirá algunos bytes adicionales de la imagen ya optimizada: es útil trabajar con cualquier información desinflada y PNG es uno de esos.

Oleg V. Volkov
fuente
gracias pero pngout falló reducido solo unos pocos kb !!
Welliam
1
¿Esperabas magia? Su imagen claramente tiene más de 256 colores. Posterizarlo para reducir la cantidad de colores primero.
Oleg V. Volkov
Cuando el tamaño se redujo de 970 a 945, esto no es un buen resultado, también posterizar no funciona con otros PNG que tengo.
Welliam
3

Una buena idea para manejar PNG con canal alfa en el contexto del desarrollo del sitio web sería dejar que el servidor haga el truco por usted: separe dinámicamente los datos de imagen del canal alfa en el servidor, optimice ambos por separado y vuélvalos a combinar usando elemento de lienzo y algunos JavaScript en el navegador. Ta-Da! Funciona con todos los navegadores modernos.

Aquí se explica cómo se hace:

http://headers-already-sent.com/artikel/shrinkimage-1/

También encontrará un paquete ZIP completo con el script PHP y un complemento jQuery. Háganos saber lo que piensa sobre esto.

Andreas Ollmann
fuente
1

Si realmente necesita reducir una imagen, y todas las sugerencias fáciles no funcionan, la respuesta final es dividir la imagen en partes compresibles y recombinarlas en el cliente con secuencias de comandos.

La imagen de la pregunta parece un degradado de color con líneas verticales y algunas manchas / ruido. Divide eso en las siguientes capas:

  1. El degradado de color sin líneas ni ruido. Esto se comprimirá bien en PNG y muy bien en JPEG. Aún mejor, use JavaScript para generar el degradado de color en el cliente. Probablemente podría hacerlo en menos de 200 bytes de JS.
  2. Las líneas verticales sin color ni ruido. Puede comprimir esto en un solo canal de 4 bits (alfa o gris). Solo necesita una imagen de 1 píxel de altura, que puede estirar. Eso se comprimiría muy bien en PNG.
  3. El ruido. Nuevamente, todo lo que necesita es un solo canal de 4 bits (alfa o gris). Sin color ni líneas, esto debería comprimirse muy bien en PNG o JPEG.

Combine las capas en una sola imagen con JavaScript, y su "imagen" completa podría ser de 15 KB o menos.

Este tipo de trabajo fue estándar en la industria de los juegos durante décadas, y todavía lo es. Lo mejor es que Photoshop ya tiene todas esas capas separadas, si creó su imagen como un profesional.

Sophit
fuente
1

Los archivos PNG estándar ya son el formato de imagen más comprimido que puede usar, de ahí que los archivos PNG se usen tanto para imágenes en sitios web, especialmente para propósitos de diseño.

Pero todavía hay una manera de comprimir archivos PNG aún más; disminuyendo el número de colores utilizados en la imagen. Esto a menudo puede reducir el tamaño del archivo hasta un 70% o incluso más.

El mejor software gratuito automatizado con el porcentaje de compresión general más alto que encontré para esto es FileOptimizer que utiliza múltiples motores (es decir, PngOptimizer, PNGOUT, pngwolf, etc.) para comprimir la imagen al tamaño más pequeño posible.

Otra herramienta en línea que encontré con buenos resultados es esta: http://www.giftofspeed.com/png-compressor/

William Dresker
fuente
1

Permítanme presentarles FileOptimizer . Combina varios métodos para la optimización de la imagen (incluida la eliminación de EXIF ​​para guardar pocos bytes adicionales; se puede desactivar).

Resultados de la prueba y comparación con otras soluciones.

ingrese la descripción de la imagen aquí

rluks
fuente
0

ScriptPNG http://css-ig.net/scriptpng

¡te da alrededor de 10 opciones diferentes, incluidas las con pérdida! Probé un montón y este archivo por lotes de Windows (con un montón de .exes) es genial

Personalmente lo uso para comprimir a 8 bits con pérdida. No estoy seguro de cómo funciona, pero mis capturas de pantalla se ven igual. Lo uso para comprimir capturas de pantalla. Tenía alrededor de 2GB de pngs, ahora solo 700mb

Mikey
fuente