Wie platzieren Sie EXIF-Tags in einem JPG, wenn der rohe JPEG-Puffer in C++ vorhanden ist?

StackOverflow https://stackoverflow.com/questions/90798

  •  01-07-2019
  •  | 
  •  

Frage

Ich habe ein kleines Problem.

Ich erhalte einen RAW-Char*-Puffer von einer Kamera und muss diese Tags hinzufügen, bevor ich ihn auf der Festplatte speichern kann.Das Schreiben der Datei auf die Festplatte und das erneute Zurücklesen ist keine Option, da dies tausende Male passieren wird.

Die Pufferdaten, die ich von der Kamera erhalte, enthalten außer Breite, Höhe und Pixel pro Zoll keine EXIF-Informationen.

Irgendwelche Ideen?(C++)

War es hilfreich?

Lösung

Schau dir das an PDF, Auf Seite 20 finden Sie ein Diagramm, das zeigt, wie Sie Ihre Exif-Informationen platzieren oder ändern.Was ist der Unterschied zu einer Datei auf der Festplatte?

Enthält der JPEG-Puffer Ihrer Kamera bereits einen EXIF-Abschnitt?

Andere Tipps

Was ist der Unterschied? Warum sollte es in eine Datei auf der Festplatte aus anders sein tut es im Speicher zu tun?

Genau das tun, was immer Sie tun, nachdem Sie die Datei von der Festplatte ..

lesen

Soweit ich weiß, sind EXIF-Daten in JPEG ein fortlaufender Teil der Datei.Also

  1. Bereiten Sie EXIF-Daten im Speicher vor
  2. Schreiben Sie einen Teil der JPEG-Datei bis EXIF
  3. Schreiben Sie vorbereitetes EXIF
  4. Schreiben Sie den Rest der JPEG-Datei

Sie können einen Blick in Exiv2 Bibliothek nehmen wollen. Ich weiß, es kann auf Dateien arbeiten, aber ich nehme an, es funktioniert auch auf Speicherpuffer zu arbeiten hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top