我使用Xml Serialization序列化了bitmapImage。它給錯誤, 「Uri的XML序列化拋出SecurityException」如何在Wp7中使用Xml序列化序列化bitmapImage
我有Observablecollection中的BitmapImage的集合。 OnDeactivation(Tombstone)我正在保存Persistent類的屬性類型。在節省我使用Serailization。
請幫幫我,如何解決這個問題
我使用Xml Serialization序列化了bitmapImage。它給錯誤, 「Uri的XML序列化拋出SecurityException」如何在Wp7中使用Xml序列化序列化bitmapImage
我有Observablecollection中的BitmapImage的集合。 OnDeactivation(Tombstone)我正在保存Persistent類的屬性類型。在節省我使用Serailization。
請幫幫我,如何解決這個問題
我建議保存到獨立存儲以及。
這裏是我使用的方法:
實用方法BitmapImage的轉換爲byte []和背部:
public sealed class ImageConverter
{
public static byte[] ConvertToBytes(BitmapImage bitmapImage)
{
if (bitmapImage == null)
{
return null;
}
WriteableBitmap image = new WriteableBitmap(bitmapImage);
using (MemoryStream stream = new MemoryStream())
{
image.SaveJpeg(stream, image.PixelWidth, image.PixelHeight, 0, 100);
return stream.ToArray();
}
}
public static BitmapImage ConvertToImage(byte[] byteArray)
{
if (byteArray == null)
{
return null;
}
BitmapImage bitmapImage = new BitmapImage();
using (MemoryStream stream = new MemoryStream(byteArray))
{
bitmapImage.SetSource(stream);
}
return bitmapImage;
}
}
可以字節[]然後存儲到獨立存儲平凡。我用這樣的字典:
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
public BitmapImage getImageForURL(string URL)
{
Dictionary<string, byte[]> imageDictionary = (Dictionary<string, byte[]>)settingsDictionary["imageDictionary"];
if (imageDictionary != null)
{
byte[] byteArray = null;
imageDictionary.TryGetValue(URL, out byteArray);
return ImageConverter.ConvertToImage(byteArray);
}
return null;
}
public void setImageForURL(string URL, BitmapImage image)
{
Dictionary<string, byte[]> imageDictionary = (Dictionary<string, byte[]>)settingsDictionary["imageDictionary"];
if (URL != null && image != null) {
imageDictionary[URL] = ImageConverter.ConvertToBytes(image);
}
}
Image to xml?更好的方法是將其保存到獨立存儲作爲文件
請顯示你在做什麼。不要只是描述它。 – 2012-03-07 11:03:19