我需要我的照片编辑器应用程序来保留未知的元数据条目,这些条目存在于我的应用程序打开的原始照片中(例如,非标准 XMP 元数据)
我尝试使用苹果内置的元数据读取/写入元数据,但没有成功。
有没有办法将所有现有的元数据复制到缓冲区,按原样写入,然后仅更改特定条目?
最佳答案
是的。
- 使用 Adobe XMP SDK。
使用以下方法打开图像时从图像中读取元数据:
SXMPFiles myFile;
ok = myFile.OpenFile(文件名, kXMP_UnknownFile, opts);
myFile.GetXMP(_meta);//_meta 是表示您的照片的类的数据成员(可能是 NSDocument 的子类)。
保存图像时,写入图像内容,然后使用SXMPFiles.PutXMP(...)将
_meta
写入输出文件,然后设置您喜欢的特定元数据条目。
有关读取和写入 XMP 元数据的更多详细信息,请参阅 Adobe XMP 编程指南。
关于metadata - 如何在 Objective C 中保留 XMP 元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16278992/