Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
FreePascal / Lazarus
|
Re: [LoadPNGIntoBitmap32] Fehler beim Laden einer PNG
4. Apr 2008, 17:15
Ja, das ist mir auch aufgefallen, aber das wird wohl daran liegen, dass das Bild neu (wahrscheinlich mit höherer Kompressionsrate) komprimiert wird, wenn es gespeichert wird.
edit: Ich hab gerade mal versucht, dass Bild, bei dem der fehler auftritt (*kryptischername*.png) direkt in meinem Editor für die Liste zu laden - hierbei tritt kein fehler auf. Zur Erklärung: Die Bilder sind mit Photoshop aus einem Tileset ausgeschnitten und einzeln abgespeichert. Für das Spiel speichere ich die alle in eine Liste, zusammen mit Zusatzinfos etc. dafür habe ich mir einen "Tilelisteditor" geschrieben. Dort kann ich neue Einträge zu einer Datei hinzufügen, ein Bild laden und zuweisen, und Bilder löschen. Wenn ich nun ein PNG-Bild über den Editor in die Liste hineinlade, geht alles glatt. Nachdem die Liset gespeichert wurde, und das Bild wieder geladen werden soll, kommt der merkwürdige Fehler. Ich verstehe das nicht, weil die Datei ja absolut gültig ist. Selbst das Laden des Bildes AUS DER Datei, das ich ja abgespeichert habe schlägt im Editor nicht fehl, obwohl dieser mit der gleichen procedure arbeitet. Und das tritt immer nur bei diesem einen Bild auf o_O
edit²: Und jetzt kommts nochmal: WTF? Ich die Liste, in die ich eben testweise das "fehlerhafte" Bild geladen habe mal abgespeichert und wieder geladne? Was passiert?! KEIN Fehler! Ich versteh das nicht! Ich habe eine andere Datei, bei der ich das Quell-PNG in den Editor geladen und abgespeichert habe, aber da TRITT der Fehler auf!
edit³: Die Listendateien sind tatsächlich unterschiedlich. Die funktionierende ist 4.6, die andere 4.1 kByte groß. Das macht doch keinen Sinn - wenn ich die Datei vorher in dein TBitmap32 lade, anschließend in ein neu erzeugtes PNG und mich der gleichen procedure abspeichere, können doch nicht zwei unterschiedliche Dateien herauskommen o___O. Zumal die Datei aus der 4.1 kByte großen Liste ja hier angehängt ist und ebenfalls funktioniert. W T F?
|