我有一个 php 脚本,它使用 Flickr API 从 Flickr 下载我的图像,解析相关的文本和元数据,并将版本保存在我的服务器上,并将元数据嵌入图像文件中。我使用历史图像并希望在我的智能手机上按日期顺序显示它们(我正在 Android 上试用 F-Stop 应用程序)。
我已经使用 PHP JPEG 元数据工具包 - http://www.ozhiker.com/electronics/pjmt/ - 通过将 XMP 数据写入文件来进行元数据更新。但是对于我的生活,我似乎无法让“拍摄日期”工作!
以下是一些示例图像:
这是来自 Flickr 的原始文件,日期设置为我创建文件 http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fflickr 的日期。 jpg(如果要在本地检查,请右键单击图像并保存)
这是我第一次尝试使用该工具包。它更新了 XMP 'DateCreated' 但没有更新 EXIF CreateDate 或 XMP CreateDate http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fprocessed_orig.jpg
所以我然后强迫它改变 XMP CreateDate http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fprocessed_new.jpg。然后,这会在 Windows 资源管理器中显示为创建日期,但不会显示在 F-Stop 应用程序中。
所以我想知道仍然是 Flickr 的值的 EXIF CreateDate 是否具有优先权,所以我删除了该元数据(据我所知,该工具集不允许您修改 EXIF)http:// metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit%2Fprocessed_new2.jpg
在这些情况下,F-Stop 都不能正确解释日期。我已经联系了开发人员,但我实际上并不认为是应用程序有问题,我认为这是文件中的元数据格式。那是因为当我在 Windows 资源管理器中显示该原始文件并更改那里的拍摄日期时,该文件可以完美运行http://metapicz.com/#landing?imgsrc=http%3A%2F%2Fwww.whatsthatpicture.com%2Ftools%2FPHP_JPEG_Metadata_Toolkit %2Fflickr_win.jpg
任何人都可以告诉我发生了什么,或者建议我可以解决这个问题的另一种方式吗?