【发布时间】:2013-04-29 12:46:18
【问题描述】:
我需要我的照片编辑器应用来保留由我的应用打开的原始照片中存在的未知元数据条目(例如,非标准 XMP 元数据)
我尝试使用苹果内置的元数据读/写元数据,没有成功。
有没有办法将所有现有的元数据复制到缓冲区,按原样写入,然后只更改特定条目?
【问题讨论】:
我需要我的照片编辑器应用来保留由我的应用打开的原始照片中存在的未知元数据条目(例如,非标准 XMP 元数据)
我尝试使用苹果内置的元数据读/写元数据,没有成功。
有没有办法将所有现有的元数据复制到缓冲区,按原样写入,然后只更改特定条目?
【问题讨论】:
是的。
当你打开它时从图像中读取元数据:
SXMPFiles myFile;
ok = myFile.OpenFile(filename, kXMP_UnknownFile, opts);
myFile.GetXMP(_meta); // _meta is a data member of the class that represents your photo (probably a subclass of NSDocument).
保存图像时,写入图像内容,然后使用 SXMPFiles.PutXMP(...) 将_meta 写入输出文件,然后设置您喜欢的特定元数据条目。
有关读取和写入 XMP 元数据的更多详细信息,请参阅 Adobe XMP 编程指南。
【讨论】: