Einzelnen Beitrag anzeigen

ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: EXIF auf anderes JPEG übertragen

  Alt 28. Okt 2013, 17:45
Wie kann man den\die\das (oder wie auch immer) EXIF von einem JPEG auf ein anderes übertragen?
So schwierig ist das doch nicht.

Zum Beispiel als Möglichkeit wie folgt:
  1. Lies aus Deiner originalen jpeg-Datei die Größe der EXIF-Struktur aus (steht in den Bytes unmittelbar nach dem EXIF-StartTag "FFE1" und reicht bis zur Kennung "786969660000" = "Exif").
  2. Lies die originale jpeg-Datei in einen MemoryStream. Setze die Größe des MemoryStreams zurück auf die Größe der EXIF-Struktur zuzüglich der 4 führenden Kennbytes der jpeg-Datei (FFD8 und FFE1).
  3. Übertrage den MemoryStream in den FileStream, der Deine neue jpeg-Datei anlegt, welche sowohl Dein verändertes jpeg-Bild als auch die ursprüngliche EXIF-Information aufnehmen soll.
  4. Lies dann Deine veränderte jpeg-Datei in den MemoryStream.
  5. Setze den Pointer des MemoryStreams auf die Position $02 (also ab dem 3.Byte, d.h. ohne die JPEG-Kennung "FFD8" der zweiten Datei) und übertrage den MemoryStream ab dieser Position in den zuvor begonnenen Filestream.

Die neu generierte jpeg-Datei enthält dann die originale EXIF-Information sowie das veränderte Bild.
  Mit Zitat antworten Zitat