0

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

System.Windows.Media.Imaging.Extensions.SaveJpeg(wb, msWrite, g_IntWidth, g_IntHeight, 0, 100);
 媒体库 ML = 新媒体库();
 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));

 }


 
4

1 回答 1

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));
}

我也怀疑您是否需要将流的内容复制到字节数组中。根据您要对图片执行的操作,您可能希望选择一种内存消耗较少的方式。

于 2013-07-14T19:01:28.233 回答