EXIF-Daten auslesen
-
Hi,
ich habe vor ein Programm zu programmieren dem ich ein Verzeichnispfad angebe mit JPEG Bildern, das Programm soll dann aus den EXIF-Daten der Datei (Aufnahmedatum) Ordner erstellen (Januar - Dezember) und die Bilder je nach Aufnahmemonat darein verschieben. Wie gehe ich das am besten an, habe in diese Richtung bisher nicht gearbeitet?
Als Hilfsmittel habe ich den C++ Builder, gibt es dort hilfreiche Funktionen?
Danke schonmal
Gruß
Schattenfang
-
Hallo
Die Datei must du mit TFileStream oder std::fstream öffnen und manuell auslesen. Die Spezifikationen des EXIF-Formates findest du sicher im Internet. Weitere hilfreiche Funktionen bietet der Builder dazu nicht an.
Alternativ kannst du im Internet auch gleich eine externe Bibliothek suchen die das EXIF-Format von sich aus auslesen kann. Da findest du eventuell auch schon Builder-spezifische Pakete.
bis bald
akari
-
Hi,
um die Bilddateien nach Aufnahmedatum abzulegen, musst du nicht
die EXIF-Daten haben.
Die Bilddaten werden doch wie eine normale Datei im Fotoapparat
angelegt und abgespeichert. Mit Datum und Uhrzeit.mfg
kpeter
-
kpeter schrieb:
Hi,
um die Bilddateien nach Aufnahmedatum abzulegen, musst du nicht
die EXIF-Daten haben.
Die Bilddaten werden doch wie eine normale Datei im Fotoapparat
angelegt und abgespeichert. Mit Datum und Uhrzeit.mfg
kpeterUnd wie frage ich diese Attribute bei einer eingelesenen Datei ab?
-
Hi,
Mit FileGetDate kommst du an die Informationen.
Edit:
Die Funktion FileGetAttr gibt die Attribute der mit FileName angegebenen Datei zurück.mfg
kpeter
-
kpeter schrieb:
Hi,
Mit FileGetDate kommst du an die Informationen.
Edit:
Die Funktion FileGetAttr gibt die Attribute der mit FileName angegebenen Datei zurück.mfg
kpeterBekomme ich mit "FileGetDate" nicht den Tag der letzten Änderung? Werde es nachher ausprobieren.
-
Ja, das gibt dir genauso wie FileAge (SysUtils) nur das Datum des letzten Schreibzugriffs der Datei.
Mit dem Exif Header hat das nix zu tun.
Eventuell hilft dir das.
http://marquardtnet.info/cecke/quickies.1/1_index.html