Decoder: Paint.NET und png Bilder

Beitrag lesen

Nein, Ebenen kann Paint.NET nicht in PNGs speichern, weil das Format das gar nicht hergibt.

Doch, das Format gibt das her. Die Daten werden in klar benannten Blöcken gespeichert, die aus den Feldern Blocklänge, Bezeichner, Daten und Prüfsumme bestehen. Blöcke mit unbekannten Bezeichnern müssen ignoriert werden.

Hinterhältigerweise bräuchte man lediglich irgendeinen nicht anderweitig verwendeten Bezeichner benutzen, um PNG für eine eigene Anwendung zu erweitern. Hinterhältig braucht man aber gar nicht sein, denn im PNG-Standard ist sogar ausdrücklich festgelegt, dass Anwendungen private Blöcke schreiben dürfen und wie diese zu kennzeichen sind:

"Applications can also define private (unregistered) chunks for their own purposes. The names of private chunks must have a lowercase second letter, while public chunks will always be assigned names with uppercase second letters."

(PNG 1.2, Absatz 3.3, zweiter Punkt, das "private bit", Bit Fünf des zweiten Bytes im Bezeichner).

Ich kenne Paint.NET nicht; Adobe Fireworks speichert nativ allerdings auch im PNG-Format inkl. Ebenen und dann in entsprechend größeren Dateien.

Ich meine mich zu entsinnen, dass Paint.net sowas auch macht. Mag aber sein, dass es zwei Speichermöglichkeiten zur Auswahl gibt, einmal PNG à la Paint.net und einmal "PNG naturelle". Vielleicht ist Ersteres inzwischen auch schon als eigenes Paint.net-Format kaschiert, ich habe das Programm lange nicht mehr zu Gesicht bekommen.