1

我在通用 Windows 平台应用程序中实现了一个文件打开选择器,用于选择要在列表项中显示的图像。

但是,从文件打开选择器中获取图像路径后,无法将路径设置为图像源,既不能作为 URI,也不能作为网络路径(尝试“file:///”+路径)。

有没有办法从文件打开选择器选择的路径中显示图像?

如果没有,有没有办法在应用程序中从计算机打开本地图像?

4

1 回答 1

2

我在通用 Windows 平台应用程序中实现了一个文件打开选择器,用于选择要在列表项中显示的图像。

UWP 不支持file://uri 方案,如果您使用文件打开选择器打开文件,您可以将文件作为流打开,并将其转换为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;
}
于 2020-12-28T14:12:17.013 回答