4
下面是一個簡單問題:如何使用BitmapMetadata
正確地向XMP添加自定義名稱空間?向元數據添加自定義名稱空間(BitmapMetadata)
比方說,我想要的命名空間看起來像這樣:xmlns:MyNamespace="http://test"
有沒有明確的方式如何添加命名空間中BitmapMetadata
,所以我嘗試這樣做:
//I retrieve the image frame (Frame[0]), then:
var metadata = (BitmapMetadata) frame.Metadata.Clone();
//Covering all bases
metadata.SetQuery("/app1/ifd/PaddingSchema:Padding", 4096);
metadata.SetQuery("/app1/ifd/exif/PaddingSchema:Padding", 4096);
metadata.SetQuery("/xmp/PaddingSchema:Padding", 4096);
而現在的主查詢,我試圖去了「明顯的方式」:
metadata.SetQuery("/xmp/MyNamespace:MyTag", "AwesomeTagValue");
果然,我是否保存圖像,打開並運行
var value = (string) metadata.GetQuery("/xmp/MyNamespace:MyTag");
它返回正確的值 - AwesomeTagValue。
雖然這是個問題,但標籤被寫入格式不正確的文件中。 我偷看到文件中,這裏的剝離XML/RDF觀點:
<rdf:Description rdf:about="" xmlns:prefix0="MyNamespace"> ... </rdf:Description>
因此,所有的標籤都帶有前綴prefix0
,我想它是
<rdf:Description rdf:about="" xmlns:MyNamespace="http://test"> ... </rdf:Description>
任何想法怎麼辦或者如果它甚至可以用BitmapMetadata
?
感謝解決方案,它爲我工作,但我不能設置像\t \t \t \t \t \t \t \t \t \t \t \t 清除了相關的電視節目的宣傳包括印刷和在線: - 電視 - 預定線性服務 \t \t \t \t \t \t \t xmpRights:UsageTerms> –