Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi ImageEn erzeugt neue EXIF-Daten und verliert das Thumbnail (https://www.delphipraxis.net/106370-imageen-erzeugt-neue-exif-daten-und-verliert-das-thumbnail.html)

norwegen60 9. Jan 2008 20:31


ImageEn erzeugt neue EXIF-Daten und verliert das Thumbnail
 
Hallo zusammen,

ich habe über dieses Forum die ImageEN-Komponente Version 2.3.2 von www.hicomponents.com gefunden und einige Dinge ließen sich damit bestens lösen. Da diese Komponente auch die Bearbeitung der EXIF- und IPTC-Daten ermöglicht, würde ich gerne die dEXIF-Unit ganz raus schmeißen. Ich habe allerdings noch ein Problem. Obwohl ich die Beschreibung so verstehe, dass nur EXIF-Felder kopiert werden, die auch im Original vorhanden sind, sind in der kopierten Datei plötzlich alle möglichen EXIF-Felder drin. Dafür fehlt das Thumbnail. Das lässt sich schon mit folgendem Code testen.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  ImageEnView1.IO.ParamsFromFile('Image1.jpg'); // Enthält EXIF-Daten
  ImageEnView1.IO.InjectJpegEXIF('Image2.jpg'); // Enthält noch keinerlei EXIF-Daten
end;
Eigentlich wollte ich aber Bilder drehen und dafür sorgen, dass das Thumbnail mitgedreht wird und falls keines vorhanden, eines angehängt wird.

Delphi-Quellcode:
procedure TfoBilder.spb90DegClick(Sender: TObject);
var
  rc: TRect;
  sFile:String;
begin
    sFile:=ImageEnMView1.ImageFileName[ImageEnMView1.MultiSelectedImages[i]];
    JpegLosslessTransform2(sFile,jtRotate90,false,jcCopyAll, rc, true)
end;
Auch nach diesem Vorgang ist das Bild plötzlich voll mit neuen EXIF-Feldern, dafür ohne Thumbnail. Auf jeden Fall findet das mit dEXIF geschriebene Programm keine mehr.

Kann jemand helfen?

Gruß
Gerd

scrat1979 9. Jan 2008 20:56

Re: ImageEn erzeugt neue EXIF-Daten und verliert das Thumbna
 
Hallo,

anbei ein Auszug aus der Hilfedatei. Eventuell hilft es weiter, habe schon einige Monate nichts mehr mit diesen (klasse!) Komponenten gemacht:

Delphi-Quellcode:
ImageEnView1.IO.LoadFromFile('input.jpg');
ImageEnView1.Proc.Negative;
ImageEnView1.IO.Params.UpdateEXIFThumbnail;
ImageEnView1.IO.SaveToFile('output.jpg');
Eventuell musst du also ein "Update" des Miniatur-Thumbnails durchführen... Ggf. musst Du das Bild in ein IEBitmap laden und dann in Zeile 3 meines Post weitermachen. Momentan fürst Du ja eine Prozedur aus, welche nur den Dateinamen benötigt. Probiers mal aus - ich hoffe, es war verständlich was ich meine...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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-2025 by Thomas Breitkreuz