Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi EXIF Tag der Panasonic Lumix auslesen (https://www.delphipraxis.net/138085-exif-tag-der-panasonic-lumix-auslesen.html)

I love Delphi 5. Aug 2009 15:15

Re: EXIF Tag der Panasonic Lumix auslesen
 
Vielen Dank erstmal,
aber wie (wenn überhaupt möglich) kann ich dann mit dExif die Daten auslesen?

Danke nochmal,
I love Delphi!

GPRSNerd 5. Aug 2009 17:26

Re: EXIF Tag der Panasonic Lumix auslesen
 
Steht doch in Post #6!
Wenn du die neuen Tags zu dExif hinzugefügt hast, kannst du so die Tags auslesen und in die Kommentare schreiben.
Jetzt ist wohl mal ein wenig Eigeninitiative von dir gefragt...

Oder verstehe ich die Frage falsch? :gruebel:

PS: Sind das denn jetzt die Strings, um die es geht???

I love Delphi 6. Aug 2009 07:40

Re: EXIF Tag der Panasonic Lumix auslesen
 
Danke GRPSNerd für die umhauende Hilfestellung.
Die Strings sind die richtigen, warum die aber doppelt drin stehen weiß ich auch nicht.
Leider weiß ich jedoch nicht wie ich die neuen Tags zu dEXIF hinzufüge. Auch im mitgelieferten ProgrammersGuide.txt und in der Readme.txt finde ich darüber nichts.

Es wäre nett, wenn du mir noch dieses eine letzte mal helfen würdest! :)

Grüße,
I love Delphi!

GPRSNerd 6. Aug 2009 08:53

Re: EXIF Tag der Panasonic Lumix auslesen
 
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.

I love Delphi 6. Aug 2009 12:57

Re: EXIF Tag der Panasonic Lumix auslesen
 
Hallo und danke nochmal,
habe den letzten Schritt jetzt auch hinbekommen. Leider war das alles recht umsonst, den mein Bildverwalter (Picasa von Google) speichert seine Kommentare zu Bildern im EXIF-Tag der Datei.

Naja, hab' ja trotzdem einiges gelernt!

Vielen Dank,
I love Delphi!

I love Delphi 6. Aug 2009 20:54

Re: EXIF Tag der Panasonic Lumix auslesen
 
Nochmal ich :),
hat sonst vll. noch jemand eine Idee, wie man das Problem lösen kann?

Viele Grüße,
I love Delphi!

juergen 8. Aug 2009 15:53

Re: EXIF Tag der Panasonic Lumix auslesen
 
Hallo,

direkt auf der Seite von Embarcadero findest du wohl alles was du benötigst. :thumb:
So wie es ausschaut,muss man aber vor dem Ändern der Tags ein Dump des Exif machen, ansonsten wäre alles weg (zumindest habe ich keinen anderen Weg gefunden).
Es sind sehr gute Beispiele mit dabei, so dass eigentlich alles klappen sollte.
Panasonic-Lumix-Exif

Edit: in der Doku wird die Klasse "TExifDataPatche" aufgeführt. Damit ist das Bearbeiten der jeweiligen Tag.ID möglich ohne dass die anderen Tag's bzw. Section's geändert werden. Siehe hierzu auch das Beispiel "TimeShift".


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz