将图像存储到windows phone 7中的独立存储中

问题描述:

基本上我使用Visual Studio/Expression Blend来执行我的应用程序。其作品与用户一样可以选择他/她想要编辑的图片,编辑后用户只需点击保存按钮,编辑后的图片将保存在独立存储中,但我无法命令保存按钮保存将图像存入独立存储器,以便希望有人会提前通过一些示例代码来帮助我。将图像存储到windows phone 7中的独立存储中

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

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(); 
+0

显示保存代码。 – 2011-06-16 13:21:49

这是代码

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的工作版本是在其中显示图像的图像元素。

+0

嗨,你的这段代码放在保存按钮下面?意思是在你点击保存按钮后,图像将存储到独立的存储器中?顺便说一下,图像对象是什么? – user801456 2011-06-16 13:45:30

+0

你可以将代码放在任何你想要的地方,因为你想保存图像,你可以把它放在按钮的ClickEvent处理程序中。通过[图像对象]我的意思是你正在使用的图像元素来显示图像 – 2011-06-17 05:20:32

+0

我厌倦了,但仍然错误。 bi.SetSource(pic); 你在哪里申报你的照片? – user801456 2011-06-17 05:38:43