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

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

  •  01-07-2019
  •  | 
  •  

Вопрос

У меня возникла небольшая проблема.

Я получаю НЕОБРАБОТАННЫЙ буфер char * с камеры, и мне нужно добавить эти теги, прежде чем я смогу сохранить его на диск.Записать файл на диск и прочитать его обратно невозможно, так как это будет происходить тысячи раз.

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

Есть какие-нибудь идеи?(C++)

Это было полезно?

Решение

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

Содержит ли буфер JPEG вашей камеры уже раздел EXIF?

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top