Noch ein paar Worte zum neu implementierten PNG-Format:
Es handelt sich um ein unkomprimiertes PNG-Format - also kein PNG nach Standard!
Das bedeutet, dass es gewisse Einschränkungen gibt:
- GPixEd kann nicht beliebige PNG-Dateien öffnen, da diese Standardmäßig komprimiert sind.
- Mit GPixEd erstellte PNG-Grafiken lassen sich aber in jedem Fall in GPixEd auch wieder öffnen.
- Mit GPixEd erstellte PNG-Grafiken lassen sich überall sonst anzeigen/verwenden.
Wer schreibt sonst noch unkomprimiertes PNG?
Außer einigen Projekten auf Github (z.B. svpng , welches hier als Vorlage diente), habe ich noch keine Software gefunden, die das kann. Das liegt mit unter daran, dass die zlib-Bibliothek, welche häufig verwendet wird, um die Grafikdaten in den PNG-Dateien zu komprimieren, keine Möglichkeit anbietet, die Daten unkomprimiert zu speichern, obwohl sie es könnte.
Warum das Ganze?
Die Implementierung erfolgte im wesentlichen aus dem Grund, dass seit dieser Version auch 24-Bit-Grafiken Transparenzen aufweisen können, GPixEd aber noch kein verbreitetes Format anbot, um solche Daten auch abspeichern zu können.
Warum nicht komprimieren?
Der Grafik-Im- und export ist aktuell noch komplett in R-Basic-Code geschrieben. Eine zlib-Komprimierung unter R-Basic nachzubilden wäre, wenn überhaupt möglich sehr sehr komplex und am Ende wahnsinnig langsam. Also bliebe nur noch zlib selbst und eine R-Basic-Library als Verbindungsstück zu erstellen - sicher möglich, aber ein sehr sehr großer Aufwand für wenig Mehrwert.
Noch etwas mehr Lesestoff zum Thema gibt es hier: https://entropymine.wordpress.com/2023/11/28/mak…png-image-file/
Bario