2013-04-29 49 views
3

我需要我的照片编辑器应用程序保存在由我的应用程序(例如,非标XMP元数据)打开原始照片中现有未知的元数据条目如何保留Objective C中的XMP元数据?

我试图使用苹果的内置在元数据读/写元数据中,没有成功。

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

回答

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).

  • 在保存图像,写入图像内容,然后写_meta到输出文件使用SXMPFiles.PutXMP(...),然后设置您喜欢的特定元数据条目。

有关读取和写入XMP元数据的更多详细信息,请参阅Adobe XMP编程指南。

+1

你可以接受你自己的答案 – peko 2014-02-07 10:04:30

+0

你好,我正在尝试用Objective-C编写XMP元数据到iOS上的视频。你知道这个SDK是否适用于我的情况?如果是的话,你知道如何为Xcode安装它吗?提前致谢 ! – Xys 2017-05-03 12:32:03

+0

XMP SDK可以处理许多不同的格式,您可以将其扩展为其他格式。我将它编译为一个静态库并将其与Xcode一起使用。 – 2017-05-03 18:19:37