2013-04-29 51 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