0

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());

コードは機能し、exif ビューアー ( http://regex.info/exif.cgi )を使用して xmp タグと exif タグの両方を表示できますが、サイトからも警告が表示されます。

 ExifTool
 Warning    ExifIFD pointer references previous ExifIFD directory

この警告の意味と修正方法を教えてください。

4

1 に答える 1

0

この警告は、exif データが不適切に書き込まれ、exif 仕様に準拠していないことを意味します。バックトラックを試して、データが破損している場所を確認したり、exif ブロックがメモリ内で適切に作成されているかどうかを確認したりします。

于 2015-08-27T20:03:01.537 に答える