如何在UWP C#中显示文件打开选择器选择的图像?
我在通用Windows平台应用程序中实现了一个文件打开选择器,用于选择要在列表项中显示的图像 但是,从文件打开选择器获取图像路径后,该路径不能设置为图像源,也不能设置为URI或网络路径(尝试了“file://”+path) 是否有方法显示文件打开选择器所选路径中的图像? 如果没有,是否有办法从应用程序中的计算机打开本地映像? 我在通用Windows平台应用程序中实现了一个文件打开选择器,用于选择要在列表项中显示的图像 UWP不支持如何在UWP C#中显示文件打开选择器选择的图像?,c#,image,uwp,path,fileopenpicker,C#,Image,Uwp,Path,Fileopenpicker,我在通用Windows平台应用程序中实现了一个文件打开选择器,用于选择要在列表项中显示的图像 但是,从文件打开选择器获取图像路径后,该路径不能设置为图像源,也不能设置为URI或网络路径(尝试了“file://”+path) 是否有方法显示文件打开选择器所选路径中的图像? 如果没有,是否有办法从应用程序中的计算机打开本地映像? 我在通用Windows平台应用程序中实现了一个文件打开选择器,用于选择要在列表项中显示的图像 UWP不支持file://uri方案,如果使用file open picker
file://
uri方案,如果使用file open picker打开文件,可以将文件作为流打开,并将其转换为BitmapImage
,如下所示
try
{
var picker = new Windows.Storage.Pickers.FileOpenPicker
{
ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail,
SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary
};
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");
picker.FileTypeFilter.Add(".png");
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
if (file != null)
{
using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
{
BitmapImage bitmapImage = new BitmapImage();
await bitmapImage.SetSourceAsync(fileStream);
MyImage.Source = bitmapImage;
}
}
}
catch (Exception ex)
{
throw ex;
}
在调用SetSourceAsync之前,应该设置MyImage.Source,以允许XAML框架将图像解码为正确的渲染大小。