Größen- und Transparenzunterschiede beim Speichern von PNG mit unterschiedlichen Methoden

Ich exportiere PSD-Ebenen in PNGs für die Texturatlanten eines Spiels.

Wenn ich das mache Copy -> New File (RGB 8-bit) -> Save As PNG, ist das resultierende PNG ziemlich schwer und der Finder zeigt einen weißen Hintergrund anstelle von transparent.

Aber wenn ich verwende Export Layers to Files (24-bit PNG), ist das resultierende PNG 70-95 % kleiner.

Bilder

Ich brauche keine Komprimierung durch Photoshop - meine Software zum Erstellen von Texturen kann dies selbst gut tun. Aber ich möchte Ebenen per Skript exportieren, anstatt sie manuell zu speichern.

  1. Was macht Saved AsPNG so schwer? Verlieren exportierte Bilder Farbinformationen oder werden sie in der Qualität gemindert?
  2. Warum ist Transparenz anders?
Meinen Sie eine um 70 % kleinere Dateigröße auf der Festplatte oder meinen Sie, dass das Bild kleinere Pixelabmessungen hat? Das von Ihnen gezeigte Beispielbild, das Bild mit der Bezeichnung "saved.png", sieht physisch kleiner aus, aber das kann ein Zoomeffekt des Betriebssystems sein.
Wenn Sie Lust haben, sich intensiv mit dem theoretischen Teil zu beschäftigen, lesen Sie diesen Artikel - der übrigens auf einer Website gehostet wird, die ein eigenständiges Komprimierungstool anbietet, das dasselbe tut wie "Für Web speichern" in Photoshop (es gibt ziemlich viele einige Programme wie dieses, suchen Sie einfach online nach PNG-Komprimierung)
@horatio Dateigröße, Abmessungen sind gleich: 72*80.
@kontur danke für den Link, ich habe pngcrush ausprobiert, um Informationen über zusätzliche Chunks in PNG zu erhalten.
Fireworks und Illustrator sind viel bessere Werkzeuge zum Erstellen transparenter PNGs. Illustrator erstellt die kleinsten Dateien, gefolgt von Fireworks.

Antworten (2)

Durch das Kopieren einer 54-KB-PNG-Datei auf eine Windows XP-VM wurde die Dateigröße auf 5 KB verringert. Die OS X Photoshop-Version fügt der Datei während des regulären Speicherns das Attribut „com.apple.resourcefork“ hinzu. Sie können es durch sehen ls -l@ filename.png. Das Attribut ist nicht in der Datei enthalten, aber das Dateisystem zeigt die Gesamtgröße an. Der weiße Hintergrund aus dem Screenshot scheint aufgrund dieses Attributs zu erscheinen. PNGs mit normaler Dateigröße werden mit transparentem Hintergrund dargestellt.

Ohne das Attribut beträgt die Größe von PNG etwa 5 KB. Es wurde auf 1,6 kb reduziert, indem iTXt (870b), pHYs (9b), iCCP (2,64 kb) und cHRM (32b) Chunks mit pngcrush entfernt wurden.

Beim "Speichern für Web und Geräte" fügt Photoshop der Datei immer noch zusätzliche tEXt/zTXt-Blöcke hinzu: 0 Software: Adobe ImageReadyund ungefähr 2000 XML-Symbole wie:1 XML:com.adobe.xmp (: ): <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/"...

UPD: Ich habe die Option „Metadaten“ im Dialogfenster „Für Web und Geräte speichern“ verpasst. "None" fügt nur 0 Software: Adobe ImageReadyder Datei hinzu. Dateigröße von 3,6 KB auf 2,5 KB reduziert.

Die Enddateigrößen sind also:

  • Photoshop "Speichern unter": 5,4 KB (und OS X benötigt 90 % mehr Speicherplatz zum Speichern)
  • Photoshop „Für Web speichern“, Metadaten=Keine: 2,5 KB
  • pngcrush ( -rem alla -rem text): 1,6 KB

Beim "Speichern unter" schließen Sie auch Metadaten sowie versteckte anwendungsspezifische Daten ein.

Durch die Verwendung des Exports nach PNG entfernen Sie Metadaten und alle anwendungsspezifischen Daten aus der Datei und erhalten daher eine kleinere Dateigröße.

Es sollte keinen Qualitätsverlust zwischen den beiden geben. Der Hauptunterschied sind Metadaten.

Ich zeige hier keinen Unterschied in der Transparenz. Beide Methoden führen für mich zu einem 32-Bit-PNG, vorausgesetzt, die Ursprungsdatei hatte Transparenz. Ihr Bild oben zeigt eine Vorschau des Finder/Explorer-Symbols . Vorschauen haben möglicherweise keine Transparenz, aber das eigentliche Bild hat wahrscheinlich Transparenz. Vorschausymbole werden aus einer Zusammensetzung von Ebenen generiert und übersetzen Transparenz nicht immer korrekt. Aber das ist in den meisten Fällen nur die vom Betriebssystem generierte Dateivorschau.

Tatsächliche Bilder sind transparent. Ich verwende jetzt schwere mit weißem Hintergrund im Finder in meinem Spiel.