我有特殊问题。我想使用预定义EXIF的大量JPEG图片并添加GPS字段。
问题是这些图片还没有Gps IFD。 EXIF通常在图像数据(SOI)之前,因此对EXIF的任何修改都将导致完全重写磁盘中的图像。我不想修改千兆字节的图片,以便添加GPS字段。
第1个问题:我的选择是什么?
第二个问题:在SOI之后,我可以用GPSInfoIFDPointer
覆盖IFD0中的无用标签到偏移量,然后我只需要附加GPSIF和数据,这是FAT支持的操作吗?这会破坏大多数解析器吗?
答案 0 :(得分:1)
只要生成的Exif数据仍然适合APP1 JPEG段,并且它仍然有效,Exif就可以实现您所追求的目标。但是,如果您有来自各种来源的图像,您可能会发现您无法始终获得适合的修改数据,因为可能没有足够的标记可以删除以创建整个新IFD所需的空间。
不幸的是,您不能在APP1段内创建指向APP1段之外的指针。有些读者可能会处理这个问题,但这种情况非常不规律,可能会导致问题。然而,这不是我见过的。
如果你可以从现有的IFD中删除一些标签,那么你可能有足够的空间在你创建的空间中写下你的GPS IFD。
您还可以在APP1段中留下一些死角。也就是说,您不必在空间内使新的Exif数据完全符合 ,它不能比以前更大。
某些JPEG消费者可能允许您在图像片段之后将APP1片段移动到(您可以在其中扩展文件而不重写/移动任何内容)但我还没有尝试过这样就无法评论它是如何为你工作的。