2009-11-09 101 views
0

我有一個Silverlight類,我想存儲到磁盤。它包含幾個基本的CLR對象 - 字符串和整數,以及WPF BitmapImage。在Silverlight中存儲鍵值對設置

什麼是將其存儲到文件的最佳方式是什麼?我已經嘗試序列化類並將其轉儲到文件,但BitmapImage不支持序列化。

理想情況下,我想將bitmapimage作爲物理圖像存儲在磁盤上(.png .jpg等),並將CLR對象存儲在某些鍵值對設置文件中。這在WPF中非常容易,因爲它本身支持KVP項目設置,但在Silverlight中還有很多限制。

任何意見是非常感謝!

回答

0

爲了存儲KeyValuePairs無需在本地機器上小題大做,我會考慮使用IsolatedStorageSettings.ApplicationSettings詞典採集。
這裏有一個例子:http://msdn.microsoft.com/en-us/library/cc221360(VS.95).aspx

如果你想存儲的BitmapImage到IsoStore,我建議使用各種各樣的圖像編碼與WriteableBitmap的結合。將BitmapImage(通過Image控件)放置在WriteableBitmap中將使您可以訪問每個單獨的像素。使用PngEncoder可以保存該圖像的實際圖像文件。
傑夫prosise在這裏有一個樣本:http://www.wintellect.com/CS/blogs/jprosise/archive/2009/07/17/fun-with-savefiledialog-and-writeablebitmap.aspx