将图像存储到Windows Phone 7中的独立存储中

基本上我使用Visual Studio / Expression Blend来做我的应用程序。 其工作原理在用户可以选择他/她想要编辑的图片,编辑后用户只需单击保存按钮,编辑后的图像将保存在隔离存储中,但我无法命令保存按钮保存图像进入隔离存储,所以希望有人会提前用一些示例代码帮助我。

我尝试使用下面的代码但是当我按下保存按钮时出现空参考错误。 我的想法是,当你按下保存时,应用程序不知道要将哪个图像保存到隔离存储中,并且不确定我的想法是否正确。 任何人都可以帮我这个。 非常感谢。

private void btnSave_Click(object sender, RoutedEventArgs e) { String tempJPEG = "TempJPEG"; var myStore = IsolatedStorageFile.GetUserStoreForApplication(); if (myStore.FileExists(tempJPEG)) { myStore.DeleteFile(tempJPEG); } IsolatedStorageFileStream myFileStream = myStore.CreateFile(tempJPEG); Uri uri = new Uri("TestImage.jpg", UriKind.Relative); StreamResourceInfo sri = Application.GetResourceStream(uri); BitmapImage bitmap = new BitmapImage(); bitmap.CreateOptions = BitmapCreateOptions.None; bitmap.SetSource(sri.Stream); WriteableBitmap wb = new WriteableBitmap(bitmap); Extensions.SaveJpeg(wb, myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 85); myFileStream.Close(); 

这是代码的工作版本

 private void saveButtonClick(object sender, RoutedEventArgs e) { try { using (var isf = IsolatedStorageFile.GetUserStoreForApplication()) { if (isf.FileExists("myImage.jpg")) isf.DeleteFile("myImage.jpg"); using (var isfs = isf.CreateFile("myImage.jpg")) { var bmp = new WriteableBitmap(myImageElement, myImageElement.RenderTransform); bmp.SaveJpeg(isfs, bmp.PixelWidth, bmp.PixelHeight, 0, 100); } } } catch (Exception exc) { MessageBox.Show(exc.Message); } } 

这里myImageElement是显示图像的Image Element。