如何在Objective C中保留XMP元数据?

时间:2013-04-29 12:46:19

标签: metadata xmp

我需要我的照片编辑器应用程序来保存我的应用程序打开的原始照片中存在的未知元数据条目(例如,非标准XMP元数据)

我尝试使用Apple的内置元数据读/写元数据,但没有成功。

有没有办法只将所有现有元数据复制到缓冲区,按原样写入,然后只更改特定条目?

1 个答案:

答案 0 :(得分:4)

  • 使用Adobe XMP SDK。
  • 使用以下方法打开图像时读取图像中的元数据:

    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编程指南。