我将图像保存在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)); }
答案 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));
}
我还怀疑你需要将流的内容复制到字节数组。根据您对图片的处理方式,您可能希望选择耗费较少内存的方式。