2

画像メタデータを抽出し、XML サイドカーでシリアル化された XMP として保存するオープンソース ライブラリを作成しています (理想的には、アドビのアプリがメタデータをシリアル化する方法と同じです)。

私の問題は、必要なすべての値が BitmapMetadata にあるように見えますが、キーが壊れていることです。それらの多くは、対応する XMP 名前空間の XML スタイルの名前ではなく、単なる整数です。Microsoftは、XMP を使用して、さまざまな形式のメタデータの読み取り/書き込みをメディア内に保存していると主張してい ますが、これらから標準の XMP 名の一部を再構築する方法は見当たりません。

たとえば、 Name= "/{ushort=272}"、 Format="ifd"は私が持っているものですが、必要なのは<tiff:Model>wherexmlns:tiff="http://ns.adobe.com/tiff/1.0/"です。このために、ExifUtils ライブラリの ExifTags を使用して、いくつかのキーをマップできます。しかし、他の多くのことについてはわかりません。

私の質問:

  1. BitmapMetadata に精通していて、私が行き止まりに陥っているかどうかを知っている人はいますか?

  2. Microsoft がエンコードしている標準化されたマッピングはありますか? Adobe の公式 XMP 仕様ではまだ見つかりませんでした。


更新:このライブラリのオープン ソース コードは、XmpUtils ライブラリとして Google Code で利用できるようになりました。標準の RDF ベースの XML として、XMP メタデータの読み取り/書き込みをサポートします。

4

2 に答える 2

1

結局のところ、BitmapMetadata で使用されるWindows Imaging Component (WIC)は、TIFF、EXIF、IPTC XMPなど、さまざまな種類のメタデータ ブロックの読み取り/書き込みを行います。これは、残念ながら、オブジェクト モデルが XMP シリアライゼーション モデルとあまり密接に対応していない理由を説明しています。それは高度に一般化されています。

私が探していたキー マッピングは、デコードされるセクションによって異なります。また、XMP の場合でも、完全な変換とは言えません。他の回答のMSDNリンクは、WICがメディア内のメタデータセクションを参照するために使用するXPathに似た構文であるメタデータクエリ言語の詳細な説明を提供します。これは、各パス セグメントを解析してキーに変換するのに役立ちます。このキーを使用して、対応する XMP 名前空間とプロパティ名を決定できます。

質問で述べたように、TIFF、EXIF、および XMP ブロックから非常に高い割合のメタデータ プロパティを正しく変換するこのライブラリを構築しました。

標準化された方法でこのデータを抽出することになった方法の詳細については、XmpUtils ライブラリのソース コードを参照してください

于 2010-02-07T23:12:39.323 に答える