2017-04-07 6 views
1

こんにちは私は画像のカスタム情報を設定しようとしています。ここにあるドキュメント:https://developer.apple.com/reference/imageio/kcgimagepropertyrawdictionaryは、これが最小限のデータの辞書だと言います。iOSでkCGImagePropertyRawDictionaryのメタデータを設定する方法は?

私がこれから理解することは、イメージ内に文字列またはNSDataを格納できることです。

iOSでは、CGImagePropertiesにリストされていないメタデータを設定することはできません。私はkCGImagePropertyRawDictionaryの下で可能なキーを見つけることができませんでした。これを文字列に直接設定しようとしました。それらはすべて失敗しました。

誰でもkCGImagePropertyRawDictionaryの値を設定する方法は知っていますか?

答えて

1

私が理解することは、イメージ内に文字列またはNSDataを格納できることです。

はい、イメージメタデータの目的は、イメージメタデータを格納することです。これには、数値、ブール値、最も一般的な文字列が含まれます。しかし、メタデータシステムは任意のメタデータ用に設計されたものではなく、それぞれの価値は特定の目的を持っています。この目的を実現するために、CGImageDestinationAddImageは、無効と思われる値を静かに削除します。その機能に渡されるpropertiesディクショナリで許容される固定セットのキーがあります。これはdestination propertiesCGImagePropertiesの和集合です。

kCGImagePropertyRawDictionaryはそのような許容キーの1つです。ただし、その値自体が辞書でなければならず、ドキュメンテーションはそこで受け入れ可能なキーを指定していません。もしそうなら、CGImagePropertiesページに "RAW Dictionary Keys"と表示されます。したがって、そのdictのための許容キーはありません。 CGImagePropertiesに記述されている(多くの)カテゴリに収まらない画像に関するデータを保存したい場合は、別の場所に保存する必要があります。ちょうど楽しみのため


私は好奇心旺盛だったので、私はImageIOフレームワーク上stringsを走り、この辞書のための可能なキーのように見えた〜300文字列定数のリストを発見しました。私はquick test programを書いて、これらのキーのそれぞれをkCGImagePropertyRawDictionaryキーのdictに入れようとしました。 1人で作ったわけではありません。これにより、kCGImagePropertyRawDictionaryは今後の使用のためだけに存在すると考えられ、現在はメタデータを受け入れません。

+0

応答に感謝します。アップルはこの鍵を取り除くだけでいいはずです。 –