Как вы помещаете теги EXIF в JPG, имея необработанный буфер jpeg на C ++?
Вопрос
У меня возникла небольшая проблема.
Я получаю НЕОБРАБОТАННЫЙ буфер char * с камеры, и мне нужно добавить эти теги, прежде чем я смогу сохранить его на диск.Записать файл на диск и прочитать его обратно невозможно, так как это будет происходить тысячи раз.
Данные буфера, которые я получаю с камеры, не содержат никакой информации EXIF, кроме ширины, высоты и пикселей на дюйм.
Есть какие-нибудь идеи?(C++)
Решение
Посмотри на это PDF, на странице 20 у вас есть диаграмма, показывающая, что вы должны были разместить или изменить свою информацию exif.В чем разница с файлом на диске ?
Содержит ли буфер JPEG вашей камеры уже раздел EXIF?
Другие советы
В чем разница?Почему выполнение этого с файлом на диске должно чем-то отличаться от выполнения этого в памяти?
Просто делайте все, что вы делаете, после того, как прочитаете файл с диска..
Насколько я знаю, данные EXIF в формате JPEG являются непрерывной составной частью файла.Итак
- подготовьте EXIF-данные в памяти
- записать часть файла JPEG в формат EXIF
- напишите подготовленный EXIF
- записать оставшуюся часть файла JPEG
Возможно, вы захотите взглянуть на Exiv2 библиотека.Я знаю, что он может работать с файлами, но я полагаю, что у него также есть функции для работы с буферами памяти.