我正在尝试将编写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
这个警告的含义是什么以及如何修复它?
答案 0 :(得分:0)
警告意味着exif数据写得不正确而不是exif规范。尝试回溯以查看数据损坏的位置,或者即使在内存中正确创建了exif块。