¡Parece que no puedo hacer que estas secuencias de imágenes png sean lo suficientemente pequeñas!

Esta es la imagen original, 625 x 833 a 71KB

Esta es una imagen redimensionada, aumentando a 704 x 938, el tamaño del archivo es de 136 KB

Entonces, para resumir, estamos desarrollando una aplicación. Tenemos un par de animaciones que tienen aproximadamente 200 png de largo. Ya no estamos trabajando con nuestro animador que los hizo en flash. Las animaciones, cuando se exportan a su estado final, ocupan alrededor de 70 kb; sin embargo, si miro los recursos de la aplicación, están más cerca de los 30 kn cada una.

Entonces, me encuentro en un pequeño aprieto. No puedo entender, por mi vida, cómo alguien sacó esos pocos KB de estos png. Cada vez que modifico cualquiera de estos png, se duplican en tamaño.

Estoy aumentando estos píxeles solo alrededor del 105%, ¿es eso suficiente para saltar tanto?

Siento que falta mucha información. ¿Qué aspecto tienen estos PNG? ¿Qué quiere decir con "Estoy aumentando estos en píxeles solo alrededor del 105%"? ¿Qué técnicas de compresión has probado? ¿Todavía tienes los archivos Flash originales?
FYI: un aumento del 105 % en cada dimensión (100 px > 105 px) es un aumento del 10 % en el total de píxeles, y los perfiles ICC parecen tener aproximadamente 4k (fijos). Tenga en cuenta que he tenido archivos PNG con datos de transparencia en los que la transparencia era "invisible" cuando se abría en Photoshop, por lo que si está modificando la transparencia y exportando con un nuevo canal alfa, está agregando un cuarto canal (aproximadamente 1,33x) más datos. (Algunos RGBA son, por ejemplo, 5 bits para R & B, 6 bits para G y 1 bit para alfa). La aplicación puede estar almacenando "mapas de bits sin encabezado" y solo tiene los datos de la imagen...
Wow, bueno, gracias a ambos, esa es una gran información... Hasta ahora he probado una cantidad decente. Exportar directamente desde flash, aumentar el tamaño en flash y exportar, exportar en AE, etc. en cuanto a diferentes formatos, disminuir los colores no hace mucha diferencia, el cambio más grande que he tenido fue cuando desactivé el suavizado en Flash. Incluso intenté crear un proceso por lotes en PS, importar y usar "guardar para web" para cada png. Subiré una muestra de las imágenes. ¡Gracias chicos!
¿Es probable que su diseñador haya usado otra herramienta para comprimir mejor los PNG después de exportarlos? Herramientas como pngcrushpueden, literalmente, reducir los archivos PNG al tamaño mínimo absoluto, y normalmente lo hacen sin cambiar un poco la imagen en sí.

Respuestas (1)

En resumen, PNG, al igual que GIF, se basa en la reducción de color para la compresión. Y al cambiar la escala, aumenta la cantidad de colores.

Un mapa de bits regular se guarda como 24 (o 32, incluida la transparencia) bits por píxel individual, lo que da canales RGB de 8 bits y un total de 256x256x256 = 16 millones de colores.

GIF dice espera. Voy a usar menos colores (256 en total) y estoy creando una lista de todos los colores que estoy usando. Por lo tanto, sus colores se pueden elegir entre esos 16 millones, pero no demasiados. Esto lo hace mucho más eficiente que un mapa de bits, con la desventaja de que no puede usar los 16 millones de colores en una sola imagen. Pero para imágenes más simples está bien.

Un GIF es al menos ~3 veces más eficiente (8 bits frente a 24 bits), pero potencialmente más. Porque si solo usa 16 colores en lugar de 256, solo necesita 4 bits por color. Y los GIF tampoco almacenan cada píxel. Un mapa de bits dirá 1, verde, 2, verde, 3, verde, 4, verde, 5, azul, 6, rojo, 7 azul, 8 azul. Mientras que un GIF dirá 1, verde, 5, azul, 6 rojo, 7, azul.

PNG es casi lo mismo que un GIF, pero dice; Sí, me gusta la idea de usar menos colores y enumerar los primeros de una serie de píxeles del mismo color... pero ¿y si necesito más de 256 píxeles? PNG usará menos bits si es posible, por lo que 4 bits si usa 16 colores, 8 bits si usa 256 colores o menos y 24 bits si realmente usa los 16 millones de colores porque es una foto de una celebración de Holi .

A lo que esto se reduce es a esto; cuantos menos colores uses y más grandes sean tus áreas planas; cuanto menor sea su tamaño de archivo es.

Al exportar la obra de arte desde flash, su artista (o un algoritmo) miró el trabajo y dijo; Está bien, actualmente estoy usando muchos colores, pero si lo reduzco a unos 32, se verá más o menos igual a simple vista.

Luego tomó la imagen y la redimensionó, lo que crea más píxeles únicos. Porque en lugar de un corte limpio entre el color A y B, el borde ahora está a medio camino entre un píxel, por lo que Photoshop crea un nuevo color que es una mezcla de A y B. Esto tiene dos efectos principales: crea más colores, por lo que escribir abajo cada color toma más bits - crea más cambios de color por fila

Ambos hacen que el archivo de imagen sea más grande.

Tome un círculo simple, por ejemplo: ingrese la descripción de la imagen aquíva de 16 a 17 píxeles y de 2 a aproximadamente 8 colores. Puedo escribir las (primeras líneas de) primer círculo como

1, white, 6, blue, 12, white, end
1, white, 4, blue, 14, white, end
1, white, 3, blue, 15, white, end

Mientras que el segundo círculo es

1, white, 6, lightblue, 7, darkblue, 8, blue, 11, darkblue, 12, lightblue,13, white, end
1, white, 4, lightblue, 5, lightishblue, 6, blue, 12, lightishblue, 13, lightblue, 14, white, end
1, white, 3, lightblue, 4, blue, 14, lightblue, 15, white, end

Que es más del doble de largo.


Otras personas mencionaron los datos del encabezado y el crecimiento exponencial (escala en un 105 % significa que obtienes una cantidad de píxeles del 110 %), pero creo que la profundidad de bits es la causa principal del aumento de tamaño en este caso. Imagine escribir una clase de niños en edad escolar solo por su nombre, o por su nombre y apellido.