当photochooser返回diff filename时,如何从MediaLibrary中检索照片文件

时间:2013-07-14 12:45:56

标签: windows-phone-7

我将图像保存在MediaLibrary中,如下所示

 System.Windows.Media.Imaging.Extensions.SaveJpeg(wb, msWrite, g_IntWidth, g_IntHeight, 0, 100);
 MediaLibrary ML = new MediaLibrary();
 ML.SavePicture("My1stPhoto.jpg", msWrite);

问题是:

稍后当我使用PhotoChooser选择以前保存的照片(My1stPhoto.jpg)时,这是有效的。似乎返回文件名与My1stPhoto.jpg

不同

我使用下面的代码,字节是0?需要你的帮助。感谢。

 void photoChooserTask_Completed(object sender, PhotoResult e)
  {
           strSelectedFilenameinHub = e.OriginalFileName;

           StreamResourceInfo sri = null;

            Uri jpegUri = new Uri( strSelectedFilenameinHub, UriKind.Relative);

             sri = Application.GetResourceStream(jpegUri);

             byte[] imageData = new byte[sri.Stream.Length];

            sri.Stream.Read(imageData, 0, System.Convert.ToInt32(sri.Stream.Length));

 }


 

1 个答案:

答案 0 :(得分:0)

为什么要使用媒体库检索流?您可以直接使用e.ChosenPhoto来检索图片的内容:

void photoChooserTask_Completed(object sender, PhotoResult e)
{    
     byte[] imageData = new byte[e.ChosenPhoto.Length];

     e.ChosenPhoto.Read(imageData, 0, System.Convert.ToInt32(e.ChosenPhoto.Length));
}

我还怀疑你需要将流的内容复制到字节数组。根据您对图片的处理方式,您可能希望选择耗费较少内存的方式。