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

3

我希望我的照片编辑应用程序能够保留原始照片中存在的未知元数据条目(例如,非标准XMP元数据)。

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

是否有一种方法可以将所有现有的元数据复制到缓冲区中,按原样写入,然后仅更改特定条目?

1个回答

4

是的。

  • 使用Adobe XMP SDK。
  • 打开图片并读取元数据,使用以下代码:

    SXMPFiles myFile;

    ok = myFile.OpenFile(filename, kXMP_UnknownFile, opts);

    myFile.GetXMP(_meta); // _meta 是表示您的照片的类(可能是NSDocument的子类)的数据成员。

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

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


你好,我正在尝试使用Objective-C将XMP元数据写入iOS上的视频。您知道这个SDK是否适用于我的情况吗?如果是,请问您知道如何在Xcode中安装它吗?提前致谢! - Xys
XMP SDK 可以适用于许多不同的格式,并且您可以将其扩展到其他格式。我将其编译为静态库,并在 Xcode 中使用它。 - Yoav
谢谢,它已经编译通过了,我即将进行测试。但是,我该如何打开相机胶卷中的文件呢?我需要将其复制到内部文件夹中,并将此路径发送给“OpenFile”吗? - Xys
如果你有空闲时间,能否请你帮我看一下这里的问题?那太棒了,谢谢提前:http://stackoverflow.com/questions/43342701/ios-read-write-xmp-metadatas-of-mp4-videos - Xys

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接