2008-09-18 4 views
5

У меня проблема.Как вы помещаете теги EXIF ​​в JPG, имея необработанный буфер jpeg в C++?

Я получаю буфер RAW char * с камеры, и мне нужно добавить эти теги, прежде чем я смогу сохранить их на диск. Запись файла на диск и чтение его снова не является вариантом, так как это произойдет тысячи раз.

Данные буфера, которые я получаю с камеры, не содержат информации EXIF, кроме ширины, высоты и пикселей на дюйм.

Любые идеи? (C++)

+0

➝ посмотрите на Инструментарий метаданных XMP (Adobe, но несколько с открытым исходным кодом), в частности XMPFiles ... – 2016-02-19 10:33:09

ответ

4

Посмотрите на эту PDF, на странице 20 у вас есть диаграмма, показывающая, что вы должны были размещать или изменять вашу информацию exif. В чем разница с файлом на диске?

Имеет ли буфер JPEG вашей камеры уже секцию EXIF?

+0

Нет JPEG-буфера с камеры не содержит секции EXIF ​​ – Hannes 2008-09-18 08:41:58

+0

Спасибо. Это помогает ... он отличается от стандарта JFIF – Hannes 2008-09-18 10:09:51

1

В чем разница? Зачем делать это с файлом на диске, чем-то другим, чем делать это в памяти?

Просто делать то, что вы делаете после того, как вы читаете файл с диска ..

1

Насколько я знаю данные EXIF ​​в JPEG непрерывен Подчасть файла. Так

  1. подготовить данные EXIF ​​в памяти
  2. записи часть файла JPEG ДО EXIF ​​
  3. написать приготовленную EXIF ​​
  4. записи Остальные файла JPEG
1

Возможно, вы захотите ознакомиться с библиотекой Exiv2. Я знаю, что он может работать с файлами, но я полагаю, что он также имеет функции работы с буферами памяти.

Смежные вопросы