Behalten Sie die Alphatransparenz in indexierten PNG-Dateien von Fireworks bei, wenn Sie die Stapelveränderung mit convert (ImageMagick) ändern

1264
Maciej Swic

Ich habe einen speziellen Fall, in dem ich Alpha-Transparenz in indizierten PNGs von Fireworks verwende, um die Dateigröße von PNGs in einem iOS-Spiel niedrig zu halten. (Das heißt, indizierte Farben wie ein 8-Bit-PNG-Kanal, aber ein Alphatransparenzkanal wie 24-Bit-PNG-Code. Ja, es funktioniert unter iOS und liefert bei einem geringen visuellen Aufwand sehr viel kleinere Dateien.) Ich skaliere dann die Retina-Versionen mit einem Bash-Skript herunter, das Folgendes ausführt Befehl für jede Datei:

convert -resize 50% 

Eine Datei mit der Größe 664B in Retina-Größe wächst jedoch auf 2 KB, anstatt zu schrumpfen. Wenn ich die neu aufgenommene Datei in Fireworks erneut speichere, schrumpft sie auf ca. 550B. ImageMagick macht hier also etwas faul.

1, unterstützt Konvertieren sogar das Einsparen mit indexierter Transparenz? Photoshop nicht und Dateien müssen mit Fireworks geöffnet werden! Und wenn ja, wie sage ich es? In den Befehlszeilenoptionen für die Konvertierung kann ich nichts über die Indizierung finden.

Vielen Dank!

2

1 Antwort auf die Frage

1
Alexander Groß

I found that you need to specify the output format explicitly. ImageMagick will convert your PNGs to PNG32, thus increasing file size. You rather want PNG8.

convert -resize 50% input.png png8:output.png