Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Infodaten in PNG-Bilder ablegen (https://www.delphipraxis.net/89995-infodaten-png-bilder-ablegen.html)

matashen 10. Apr 2007 09:27


Infodaten in PNG-Bilder ablegen
 
Hallo zusammen,

ich benötige bei einer Anwendung verschiedene Informationen die an ein Bild gekoppelt sind. Bisher habe ich eine seperate Datei gespeichert mit Link zum Bild. Dies ist mir aber auf Dauer etwas zu umständlich, vor allem weil mein Testprogramm zu einem Vollwertigen Tool wachsen soll, das dann noch jemand anderes außer mir verwendet.
Ist es Sinnvoll das Bild als PNG zu sichern und die Informationen in die Chunks zu packen. Habe ich das richtig verstanden das die Chunks genau für sowas gedacht sind, und wenn ja auf was muß ich dann achten. Gibt es allgemeine Richtlinien wie max. Stringlänge, Chunkzahl etc.

Kann mir hierzu jemand Tipps geben.
Eine konkrete Umsetzung bekomm ich dann gebacken, mir geht es hier darum die Struktur richtig zu planen.

Gruß Matthias

shmia 10. Apr 2007 11:20

Re: Infodaten in PNG-Bilder ablegen
 
Zitat:

Zitat von matashen
Ist es Sinnvoll das Bild als PNG zu sichern und die Informationen in die Chunks zu packen. Habe ich das richtig verstanden das die Chunks genau für sowas gedacht sind, und wenn ja auf was muß ich dann achten. Gibt es allgemeine Richtlinien wie max. Stringlänge, Chunkzahl etc.

Das wäre nur sinnvoll, wenn deine Informationen begrenzt auf etablierte Chunks sind.
(Author, Bildbeschreibung, Datum der Erstellung/Aufnahme)
Wenn du eigene Chunks einführen müsstest, dann wäre wahrscheinlich eine XML-Datei, die alle deine Zusatzinfos + einen Xlink auf die PNG-Datei enthält sinnvoller.

matashen 10. Apr 2007 13:59

Re: Infodaten in PNG-Bilder ablegen
 
Hallo,
Dies möcht ich eben nicht mehr machen, das heißt imho das ich zwar das png Format nutzen kann, aber dieses mit einer eigenen Chunks versehen unter anderer Endung ablegen muß? Gebt es hier keinen Weg, eigene Daten so anzuhängen ohne das ursprüngliche Format für andere Programme unlesbar zu machen. Gibt es ein Format, wo das geht?

Ich möchte wirklich diese Verlinkerei bei meinen Daten abschaffen und entsprechend mit anderen Möglichkeiten ersetzen.

shmia 10. Apr 2007 15:07

Re: Infodaten in PNG-Bilder ablegen
 
Zitat:

Zitat von matashen
...Gebt es hier keinen Weg, eigene Daten so anzuhängen ohne das ursprüngliche Format für andere Programme unlesbar zu machen. Gibt es ein Format, wo das geht?

Prinzipiell ist das Einfügen von weiteren selbstdefinierten Chunks kein Problem.
Software, die mit dem PNG-Format umgehen kann, wird diese Chunks dann einfach überlesen.
Allerdings werden manche Bildbearbeitungsprogramme deine Chunks beim Speichern verwerfen, da sie diese nicht kennen.

Die Klasse TPNGImage wird wohl auch nicht in der Lage sein, diese Chunks zu lesen oder zu schreiben.
Du müsstest die Klasse also erweitern oder du schreibt eine Hilfsklasse, dass die PNG-Datei einliest
und in Chunks zerlegt und dir die Möglichkeit gibt beliebige Chunks anzuhängen.

Der Chunkname besteht aus 4 Buchstaben. Für deinen Fall müssen nur Kleinbuchstaben mit Ausnahme des 3. Buchstaben verwendet werden. (z.B. abCd)
siehe: http://www.libpng.org/pub/png/spec/1...Structure.html

matashen 10. Apr 2007 16:25

Re: Infodaten in PNG-Bilder ablegen
 
Vielen Dank, ich werd das mal ausprobieren.

generell ist das egal wenn ein anderes Programm beim speichern die Zusatzdaten verwirft. Mir geht es darum das das Bild auch mit anderen Programmen noch geöffnet werden kann.

Dank für die Infos


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz