Diferencias de tamaño y transparencia al guardar PNG por diferentes métodos

Estoy exportando capas PSD a PNG para los atlas de texturas de un juego.

Cuando estoy haciendo Copy -> New File (RGB 8-bit) -> Save As PNG, el PNG resultante es bastante pesado y Finder muestra un fondo blanco en lugar de transparente.

Pero cuando uso Export Layers to Files (24-bit PNG), el PNG resultante es entre un 70 y un 95 % más pequeño.

imágenes

No necesito ninguna compresión de Photoshop: mi software de creación de texturas puede hacerlo bien por sí mismo. Pero me gustaría exportar capas por secuencia de comandos en lugar de guardarlas manualmente.

  1. ¿Qué hace Saved Asque PNG sea tan pesado? ¿Las imágenes exportadas pierden información de color o su calidad se reduce?
  2. ¿Por qué la transparencia es diferente?
¿Quiere decir un tamaño de archivo en el disco un 70% más pequeño, o quiere decir que la imagen tiene dimensiones de píxeles más pequeñas? La imagen de muestra que muestra, la imagen etiquetada como "guardado.png", parece físicamente más pequeña, pero eso puede ser un efecto de zoom del sistema operativo.
Si tiene ganas de profundizar en la parte teórica, lea este artículo , que, por cierto, está alojado en un sitio web que ofrece una herramienta de compresión independiente que hace lo mismo que "guardar para web" en Photoshop (hay bastante algunos programas como ese, simplemente busque en línea la compresión png)
@horatio Tamaño del archivo, las dimensiones son iguales: 72*80.
@kontur gracias por el enlace, probé pngcrush para obtener información sobre fragmentos auxiliares en PNG.
Fireworks e Illustrator son herramientas mucho mejores para crear png transparentes. Illustrator crea los archivos más pequeños, seguido de Fireworks.

Respuestas (2)

Al copiar un archivo PNG de 54 kb en una máquina virtual con Windows XP, se redujo el tamaño del archivo a 5 kb. La versión de OS X Photoshop agrega el atributo "com.apple.resourcefork" al archivo durante el guardado regular. Puedes verlo por ls -l@ filename.png. El atributo no está incluido en el archivo, pero el sistema de archivos muestra el tamaño total. El fondo blanco de la captura de pantalla parece aparecer debido a este atributo. Los archivos PNG con un tamaño de archivo normal se muestran con fondos transparentes.

Sin el atributo, el tamaño de PNG es de aproximadamente 5 kb. Se redujo a 1,6 kb mediante la eliminación de fragmentos de iTXt (870b), pHYs (9b), iCCP (2,64 kb) y cHRM (32b) con pngcrush.

Cuando "Guardar para Web y dispositivos", Photoshop aún agrega fragmentos auxiliares de tEXt/zTXt al archivo: 0 Software: Adobe ImageReadyy alrededor de 2000 símbolos XML como:1 XML:com.adobe.xmp (: ): <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/"...

UPD: me perdí la opción "Metadatos" en la ventana de diálogo "Guardar para Web y dispositivos". "Ninguno" solo se agrega 0 Software: Adobe ImageReadyal archivo. Tamaño de archivo reducido de 3,6 kb a 2,5 kb.

Entonces, los tamaños de archivo finales son:

  • Photoshop "Guardar como": 5,4 kb (y OS X utiliza un 90 % más de espacio para almacenarlo)
  • Photoshop "Guardar para Web", Metadatos=Ninguno: 2.5kb
  • pngcrush ( -rem alla -rem text): 1.6kb

Cuando "guarda como", también incluye metadatos, así como datos ocultos específicos de la aplicación.

Al usar Exportar a PNG, elimina los metadatos y cualquier dato específico de la aplicación del archivo y, por lo tanto, obtiene un tamaño de archivo más pequeño.

No debe haber pérdida de calidad entre los dos. La principal diferencia son los metadatos.

No estoy mostrando ninguna diferencia en la transparencia aquí. Cualquiera de los métodos da como resultado un PNG de 32 bits para mí, siempre que el archivo de origen tenga transparencia. Su imagen de arriba muestra vistas previas de íconos de Finder/Explorer . Es posible que las vistas previas no tengan transparencia, pero es probable que la imagen real sí tenga transparencia. Los iconos de vista previa se generan a partir de una combinación de capas y no siempre traducen la transparencia correctamente. Pero eso es solo la vista previa del archivo generado por el sistema operativo en la mayoría de los casos.

Las imágenes reales son transparentes. Ahora estoy usando pesados ​​con fondo blanco en Finder en mi juego.