Wie platzieren Sie EXIF-Tags in einem JPG, wenn der rohe JPEG-Puffer in C++ vorhanden ist?
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++)
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 ..
lesenSoweit ich weiß, sind EXIF-Daten in JPEG ein fortlaufender Teil der Datei.Also
- Bereiten Sie EXIF-Daten im Speicher vor
- Schreiben Sie einen Teil der JPEG-Datei bis EXIF
- Schreiben Sie vorbereitetes EXIF
- 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.