2013-04-05 92 views
0

我必須修改6000 + jpg圖像的iptc元數據。不幸的是,我沒有找到任何圖書館,甚至沒有找到這樣的例子。將ITPC元數據寫入圖像

你能否給我一個提示如何修改圖像的元數據或指向我可以通知我自己的網站?

+0

可能重複[IPTC .NET讀/寫C#庫](http://stackoverflow.com/questions/5597079/iptc-net-read-write -c-sharp-library) – 2013-04-05 21:49:08

+0

我已經閱讀過這個問題和答案,但據我瞭解,代碼只描述瞭如何讀取元數據,而不是如何寫入它。 – Christopher 2013-04-05 21:56:00

回答

1

快速瀏覽一下System.Windows.Media.Imaging命名空間,揭示了InPlaceBitmapMetadaWriter類。我認爲這是你正在尋找的:

Stream pngStream = new System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); 
PngBitmapDecoder pngDecoder = new PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); 
BitmapFrame pngFrame = pngDecoder.Frames[0]; 
InPlaceBitmapMetadataWriter pngInplace = pngFrame.CreateInPlaceBitmapMetadataWriter(); 
if (pngInplace.TrySave() == true) 
{ 
    pngInplace.SetQuery("/Text/Description", "Have a nice day."); 
} 

pngStream.Close(); 
+0

明天我會看看它。謝謝! – Christopher 2013-04-05 22:17:06