Aufgabe

Exif extrahiert einige Daten aus dem EXIF-Informationsblock von TIF- und JPG-Bilddateien. Exif ist als Shell-Extension realisiert und wird vom Microsoft-Explorer in den Eigenschaftenseiten für TIF- und JPG-Bilddateien bereitgestellt.

Installation

Die Shell-Extension besteht aus der Datei „ExifExt.dll“ und kann in ein beliebiges Verzeichnis abgelegt werden, z.B.

c:\windows\system32\ShellExt\ExifExt\

Damit der Microsoft-Explorer die Shell-Extension anbietet, wird eine Registrierung von „ExifExt.dll“ erforderlich. Die Registrierung erfolgt über die DOS-Konsole mit dem Programm „RegSvr32.exe“.

regsvr32.exe c:\windows\system32\ShellExt\ExifExt\exifext.dll

Die Registrierung kann mit dem folgenden Befehl wieder rückgängig gemacht werden.

regsvr32.exe -u c:\windows\system32\ShellExt\ExifExt\exifext.dll

Registry

Mit der Registrierung werden nachfolgende Einträge in der Registry-Datenbank angelegt. Diese Einträge können mit dem Programm „RegEdit.exe“ angezeigt werden. Da man mit diesem Programm Einträge auch ändern und löschen kann, sollte man hier etwas vorsichtig umgehen.

Folgende Einträge registrieren die Shell-Extension.

     Pfad: HKEY_CLASSES_ROOT\ExifExt.ShellExtension\
  Eintrag: (Standard) = ExifExt.ShellExtension
     Pfad: HKEY_CLASSES_ROOT\ExifExt.ShellExtension\CLSID\
  Eintrag: (Standard) = {F29F43B9-75CE-4C6D-9099-CD9629BD1F8B}
     Pfad: HKEY_CLASSES_ROOT\CLSID\{F29F43B9-75CE-4C6D-9099-CD9629BD1F8B}\
  Eintrag: (Standard) = ExifExt.ShellExtension
     Pfad: HKEY_CLASSES_ROOT\CLSID\{F29F43B9-75CE-4C6D-9099-CD9629BD1F8B}\InProcServer32\
  Eintrag: (Standard) = c:\windows\system32\ShellExt\ExifExt\exifext.dll
  Eintrag: ThreadingModel = Apartment
     Pfad: HKEY_CLASSES_ROOT\CLSID\{F29F43B9-75CE-4C6D-9099-CD9629BD1F8B}\ProgID\
  Eintrag: (Standard) = ExifExt.ShellExtension
     Pfad: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved\
  Eintrag: ExifExt.ShellExtension = {F29F43B9-75CE-4C6D-9099-CD9629BD1F8B}

Durch die folgenden Einträge wird die Shell-Extension für Dateien mit der Extension TIF, TIFF, JPG und JPEG bereitgestellt.

Die folgenden vier Einträge werden in der Regel vorhanden sein.

     Pfad: HKEY_CLASSES_ROOT\.jpg\
  Eintrag: (Standard) = jpegfile
     Pfad: HKEY_CLASSES_ROOT\.jpeg\
  Eintrag: (Standard) = jpegfile
     Pfad: HKEY_CLASSES_ROOT\.tif\
  Eintrag: (Standard) = TIFImage.Document
     Pfad: HKEY_CLASSES_ROOT\.tiff\
  Eintrag: (Standard) = TIFImage.Document

Fehlende Einträge werden in folgender Weise angelegt.

     Pfad: HKEY_CLASSES_ROOT\.jpg\
  Eintrag: (Standard) = jpgfile
     Pfad: HKEY_CLASSES_ROOT\.jpeg\
  Eintrag: (Standard) = jpgfile
     Pfad: HKEY_CLASSES_ROOT\.tif\
  Eintrag: (Standard) = tiffile
     Pfad: HKEY_CLASSES_ROOT\.tiff\
  Eintrag: (Standard) = tiffile

Die oben stehenden Standard-Werte bestimmen die folgenden Einträge in die Registry-Datenbank.

     Pfad: HKEY_CLASSES_ROOT\jpegfile\shellex\PropertySheetHandlers\ExifExt.ShellExtension\
 ... oder  HKEY_CLASSES_ROOT\jpgfile\shellex\PropertySheetHandlers\ExifExt.ShellExtension\
  Eintrag: (Standard) = {F29F43B9-75CE-4C6D-9099-CD9629BD1F8B}
     Pfad: HKEY_CLASSES_ROOT\TIFImage.Document\shellex\PropertySheetHandlers\ExifExt.ShellExtension\
 ... oder  HKEY_CLASSES_ROOT\tiffile\shellex\PropertySheetHandlers\ExifExt.ShellExtension\
  Eintrag: (Standard) = {F29F43B9-75CE-4C6D-9099-CD9629BD1F8B}

Anwendung

Nach der Registrierung sollte sich Exif im Eigenschaften-Dialog für TIF- und JPG-Bilddateien zeigen.

Mit der Schaltfläche „Anhängen“ wird die angezeigte Auflistung von EXIF-Daten an eine Logger-Datei angehängt. Die Datei befindet sich dann im Installationsverzeichnis von „ExifExt.dll“.

Mit der Schaltfläche „Löschen“ wird die Logger-Datei gelöscht.

Mit der Schaltfläche „Anzeigen“ wird die Logger-Datei in einem Texteditor angezeigt.

Der EXIF-Datenbereich ist in Datenblöcke (IFD=Image File Directory) aufgeteilt.

  • IFD0 – Bildeigenschaften (Main Image)
    • SubIFD – Aufnahmeeigenschaften
      • InteroperabilityIFD
      • MakernoteIFD – Kameraeigenschaften
  • IFD1 – Bildeigenschaften (Thumbnail Image)

Der InteroperabilityIFD gibt nicht viel her. Der MakernoteIFD steht für die Kamerahersteller zur Verfügung. Die dort gespeicherten Einträge müssen dem Kameramodel entsprechend interpretiert werden. Der IFD1 enthält Informationen, die sich auf das kleine Thumbnail beziehen. Die meisten Informationen stecken im IFD0, der die Hauptbildeigenschaften enthält, sowie dem SubIFD, der die Aufnahmeeigenschaften enthält.

Folgende Einträge werden aus dem IFD0 und SubIFD extrahiert

Tag 0100 ImageWidth oder Tag A002 ExifImageWidth
Tag 0101 ImageLength oder Tag A003 ExifImageLength
Tag 0132 DateTime oder Tag 9003 DateTime
Tag 010F Make
Tag 0110 Model
Tag 829A ExposureTime oder Tag 9201 ShutterSpeedValue
Tag 829D FNumber oder Tag 9202 ApertureValue
Tag 8827 ISOSpeedRatings
Tag 9204 ExposureBiasValue
Tag 8822 ExposureProgram oder Tag 9207 MeteringMode
Tag 9209 Flash
Tag 9208 LightSource
Tag 920A FocalLength
Tag 9206 SubjectDistance
Tag 9205 MaxApertureValue

Download

Die Datei „ExifExt.dll“ benötigt die Datei „MFC42.DLL“, die nicht unbedingt auf jedem System vorhanden ist. In den meisten Fällen wurde diese Datei durch andere Programmpakete bereits installiert.

Auf der Web-Site von Microsoft wird diese Datei über ein Installations-Paket mit redistributierbaren Dateien zum Download angeboten ( VC6RedistSetup_deu.exe ). Sollte dieser Link nicht mehr aktuell sein, hilft eine Suche im Download-Bereich mit dem Suchbegriff „Redist“, Betriebsystem „Windows NT“ und „Zeige alle verfügbare Downloads“.

Wenn die erforderlichen Dateien installiert sind, sollte Exif unter Windows NT/XP funktionieren.

Und hier ist Exif als Datei
„ExifExt.dll“ (45056 Bytes,Version 1.0.0.4)
„ExifExt.dll“ (45056 Bytes,Version 1.0.0.5) GP-Fault mit TIF-Dateien beseitigt.

Weitere Dateien: VC6RedistSetup_deu.exe