保存图片至IsolatedStorage:
private void btnSave_Click(object sender, RoutedEventArgs e)
{
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
wc.OpenReadAsync(new Uri("http://php.weather.sina.com.cn/images/yb3/180_180/qing_0.png", UriKind.RelativeOrAbsolute));
}
void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
myStore.CreateDirectory("Images");
if (myStore.FileExists("Images"))
{
myStore.DeleteFile("Images");
}
//先读取图片流,再把图片保存成png格式:
byte[] _imgBytes = new byte[e.Result.Length];
e.Result.Read(_imgBytes,0,_imgBytes.Length);
using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (Stream stream = storage.OpenFile("Images/sun.png", FileMode.Create))
{
stream.Write(_imgBytes, 0, _imgBytes.Length);
MessageBox.Show("图片存储成功!");
}
}
}
IsolatedStorage中读取图片(和jpg读取图片一样):
private void btnRead_Click(object sender, RoutedEventArgs e)
{
BitmapImage bi = new BitmapImage();
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("Images/sun.png", FileMode.Open, FileAccess.Read))
{
bi.SetSource(fileStream);
this.imgPic.Height = bi.PixelHeight;
this.imgPic.Width = bi.PixelWidth;
}
}
this.imgPic.Source = bi;
}
参考自:http://www.itivy.com/wp7/archive/2011/11/17/windows-phone-save-and-load-image.html