почему я получаю это предупреждение при попытке добавить xmp в jpeg с помощью libjpeg

Я пытаюсь преобразовать код, который пишет EXIF ​​в изображение JPEG. Оригинальный код был таким:

jpeg_write_marker(&cinfo, 0xe1, (unsigned char *)&ex, exifsize);

где ex — это блок памяти, в который были записаны exif-данные, и exifsize, если размер этого блока.

Чтобы добавить xmp к нему, я создал образец блока xmp (используя примеры, которые я нашел здесь: (https://developers.google.com/photo-sphere/metadata/?hl=en) и попробуйте добавить его в файл JPEG, используя этот код:

jpeg_write_marker(&cinfo, 0xe1, xmpBlock.getData(), xmpBlock.getdataSize());

код работает, и я могу видеть теги xmp и exif, используя программу просмотра exif (http://regex.info/exif.cgi) но сайт тоже предупреждает меня

 ExifTool
Warning    ExifIFD pointer references previous ExifIFD directory

что означает это предупреждение и как я могу это исправить?

0

Решение

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

0

Другие решения


По вопросам рекламы [email protected]