Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi EXIF: Thumbnail ändern (https://www.delphipraxis.net/60344-exif-thumbnail-aendern.html)

Martin K 5. Jan 2006 15:13


EXIF: Thumbnail ändern
 
Hi Leute,

wenn ich meine JPEG-Bilder von der Kamera mit einem Programm bearbeite, sind nach dem Speichern die EXIF-Informationen weg.

Ich habe mir also selbst ein Programm geschreiben, das sich die EXIF-Informationen "merkt", und wenn ich das Bild bearbeitet habe, so speichere ich danach wieder die EXIF-Informationen in das Bild.
Dazu verwende ich die Units dEXIF.pas, dIPTC.pas und msData.pas (hab ich hier irgendwo als Download gefunden).

Mein Problem:
Wenn ich die EXIF-Informationen jetzt nun in das Bild gesschrieben habe, so wird auch das alte Vorschau-Bild (Thumbnail) wieder mit in die EXIF-Informationen geschrieben.

Meine Frage:
Wie kann ich das Vorschau-Bild (Thumbnail) ändern ?
Mit den oben erwähnten Units kann ich das Thumbnail nur auslesen, aber kein neues erzeugen.
Es müsste also so was geben, wie Thumbnail.Load(Image: TJPEGImage).

Wäre echt nett, wenn mir einer weiterhelfen könnte !

vandriver 27. Jan 2006 21:33

Re: EXIF: Thumbnail ändern
 
Hi,

wie schaffst Du es in ein jpg das keine Exif Daten hat welche reinzuschreiben? Ich bin echt am verzweifeln....

IPTC Daten anlegen und reinschreiben ist kein Problem. Dummerweise killt mir meine Bildbearbeitung aber diese Daten raus. Die Exif würden erhalten bleiben.

Gruß & Danke
vandriver

Martin K 28. Jan 2006 13:38

Re: EXIF: Thumbnail ändern
 
Also ich habe keine neuen EXIF-Daten angelegt und diese in ein Bild gespeichert, das keine hatte, sondern ich habe es mit einem Trick gelöst:
1. Ich öffne das Bild (mit EXIF-Daten!) mit meinem Programm und "merke" mir die EXIF-Daten.
2. Ich bearbeite das Bild (mit einem anderen Programm) und speichere, dann sind halt die EXIF-Daten weg.
3. Ich nehme wieder mein erstes Programm (das sich die alten EXIF-Daten "gemerkt" hat), und speichere die EXIF-Daten wieder in das Bild dazu.

Allerdings sind dies halt die alten EXIF-Daten, d.h. auch das alte Thumbnail wird wieder mit gespeichert, und man sieht halt in der kleinen Vorschau das alte Bild und nicht das neue bearbeitete.
Meine Frage war halt, wie man dieses Thumbnail in den EXIF-Daten ändern kann.

@vandriver:
Ich "merke" mir in meinem Programm ja die EXIF-Daten zu einem Bild, von dem ich mir den Dateinamen merke.
Wenn ich die EXIF-Daten speichere, benutze ich einfach wieder diesen Dateinamen und speichere zu diesem Bild (was diesen Dateienman hat) die EXIF-Daten.
Jetzt könnte man natürlich auch hergehen, und einfach ein beliebiges JPEG-Bild dahin tun, wo das andere (von dem ich mir die EXIF-Daten merke) vorher war, und ersetzen (also gleicher Dateiname).
Dann speichere ich die EXIF-Daten in dieses Bild.
Somit könnte man EXIF-Daten in beliebige Bilder speichern.
Ich habe aber keinen neuen EXIF-Daten erzeugt, sondern lediglich mir vorhandene "gemerkt".

Ich weiß nicht so ganz, was deine Absicht ist und was du machen willst, aber wenn du willst, kann ich dir mein Programm mal geben.

Martin K 28. Jan 2006 14:11

Re: EXIF: Thumbnail ändern
 
Also, hier ist der Quelltext.
Vorausgesetzt, du hast die Unit dExif eingebunden (s. erster Beitrag). [Also: uses {...} dExif;]

1. EXIF-Daten "merken":
Delphi-Quellcode:
//global:
var ImgData: TImgData;

//oder du machst dir ein array:
var ImgData: array[0..255] of TImgData; //wenn du Exif-Daten von mehreren Bildern merken willst
//dann musst du unten im Quelltext halt eine Schleife machen mit ImgData[i]


procedure CreateExif(FileName: String);
begin
  ImgData := TImgData.Create;
  ImgData.BuildList := GenAll;
  ImgData.ProcessFile(FileName);
end;
2. EXIF-Daten in Bild speichern (wird über FileName identifiziert):
Delphi-Quellcode:
//wenn du das array verwendest, musst du hier wieder eine Schleife machen mit ImgData[i]

procedure SaveExifAndFree;
begin
  ImgData.WriteEXIFJpeg(ImgData.FileName);
  ImgData.Free;
end;

Delphi-Freak 12. Aug 2006 18:45

Re: EXIF: Thumbnail ändern
 
Ich hol mal die Frage aus dem ersten Beitrag wieder hoch, würde ich nämlich auch brauchen! :roll:

LG, ich

Daniel G 12. Aug 2006 19:05

Re: EXIF: Thumbnail ändern
 
Einfach wird es sicher nicht, aber vielleicht solltet ihr mal einen Blick auf die EXIF - Specs werfen:

http://www.exif.org/specifications.html

Pfoto 13. Aug 2006 08:36

Re: EXIF: Thumbnail ändern
 
Hallo,

Ich benutze die Grafik-Komponenten von HiComponents.com.
Dort gibt es seit Version 2.2.3 folgendes:
"now ImageEn is able to save back EXIF thumbnails (for jpegs)"

Leider ist der Code nicht kostenlos (ohne Source ca. 50,- Euro), aber die Komponenten bieten wirklich viel...
Das Exif-Modul lässt eine sehr bequeme Arbeitsweise zu, liest z.B. auch die von WindowsXP hinzugefügten, "inoffiziellen", Exif-Tags, durch die man mit der Windows-Suche Bilder finden kann.

Gruß
Pfoto

Delphi-Freak 13. Aug 2006 09:55

Re: EXIF: Thumbnail ändern
 
@Daniel G: Hab ich schon versucht, war mir dann aber irgendwie zu kompliziert.

@Pfoto: Danke! Klingt interessant...

LG, ich

idefix2 2. Jun 2010 10:37

Re: EXIF: Thumbnail ändern
 
Vielleicht hilft Dir new-revision-of-my-exif-library-v0-9-8 weiter?

edit: habe jettzt auf Wunsch von SirThornberry den Linktitel geändert - Wenn es irgendwann den Link nicht mehr gibt, wird das leider nicht viel helfen.

SirThornberry 2. Jun 2010 11:29

Re: EXIF: Thumbnail ändern
 
Wie dir sicher aufgefallen ist sind inzwischen fast 4 Jahre vergangen. Wer weiß was in den nächsten 4 Jahren mit deinem Link passiert. Eventuell kannst du dazu schreiben was sich hinter dem Link verbirgt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr.
Seite 1 von 2  1 2      

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