OK, ein letztes Mal noch, obwohl es eigentlich ziemlich simpel ist...
Folgende Zeilen musst du in dEXIF.pas ändern/hinzufügen:
Delphi-Quellcode:
...
GPSCnt = 30;
ExifTagCnt = 250+2; //ändern!!!
TotalTagCnt = GPSCnt+ExifTagCnt;
...
(Tag: $A420; Name:'ImageUniqueID' ; Code:'0:Close view,1:Distant view'),
(Tag: $C6D2; Name:'PanasonicTitle1' ), //hinzufügen
(Tag: $C6D3; Name:'PanasonicTitle2' ), //hinzufügen
(Tag: 0; Name:'Unknown'));
...
Wenn ich jetzt die EXIF-Daten dumpe, bekomme ich folgenden Auszug:
Panasonic Title1 = "BLICK AUF "ES TALAIER""
Panasonic Title2 = "BLICK AUF "ES TALAIER""
Diese Tags kannst du jetzt auslesen und in die Comments schreiben.
Edit: Das Speichern ist allerdings ein wenig komplizierter als ursprünglich gedacht:
dEXIF kann den EXIFHeader nicht manipulieren und neu schreiben, einfügen von Comments in den JPEGHeader geht aber.
Hier mal ein Codeschnipsel, mit dem das Auslesen der Tags und Einfügen in die Comments es geht. Mein Standardbildbetrachter zeigt die Kommentare jetzt an.
Delphi-Quellcode:
//Panasonic Tags ---------------------------------------------------
exif_tmp := string(ImgData.ExifObj.LookupTagVal('PanasonicTitle1'));
if exif_tmp <> '' then
begin
e1.Text:=exif_tmp;
end;
exif_tmp := string(ImgData.ExifObj.LookupTagVal('PanasonicTitle2'));
if exif_tmp <> '' then
begin
e2.Text:=exif_tmp;
end;
if ((e1.Text<>'') or (e2.Text<>'')) then
begin
ImgData.MakeCommentSegment(ansistring(e1.Text + crlf + e2.Text));
SaveDialog1.FileName := string(ImgData.Filename);
if SaveDialog1.Execute then
begin
ImgData.WriteEXIFJpeg(AnsiString(SaveDialog1.FileName));
end;
end; // ------------------------------------------------------------
PS: Diese ganzen Typecasts nach string und ansistring sind bedingt durch Delphi 2009 und meiner
Unicode-Portierung von dEXIF.