首页 文章

在运行时c#(uwp)上向资源添加图像

提问于
浏览
0

我正在尝试制作添加图像功能 . 用户可以上传项目的图片,并将该图片添加到项目的资产中以备将来使用 . 这是我的代码:

private async void PickAFileButton_ClickAsync(object sender, RoutedEventArgs e)
    {
        FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.Thumbnail;
        openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
        openPicker.FileTypeFilter.Add(".jpg");
        openPicker.FileTypeFilter.Add(".jpeg");
        openPicker.FileTypeFilter.Add(".png");

        StorageFile file = await openPicker.PickSingleFileAsync();
        if (file != null)
        {
            // Application now has read/write access to the picked file
            String a = "ms-appx:///Assets/" + file.Name;
            theItem.Source = new BitmapImage(new Uri(a));
        }
        else
        {
            theImage.Text = "Operation cancelled.";
        }
    }

如何将给定的图片添加到项目的assets文件夹中,以便我可以在侧面显示它,并将其用于其他内容?

我将非常感谢任何帮助 .

1 回答

  • 1

    如何将给定图片添加到项目的assets文件夹中

    uwp项目的assets文件夹只在运行时模型中读取,我们无法在运行时添加图片 . 我们建议使用Local文件夹替换 Assets 文件夹 .

    private async void PickAFileButton_ClickAsync(object sender, RoutedEventArgs e)
    {
        FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.Thumbnail;
        openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
        openPicker.FileTypeFilter.Add(".jpg");
        openPicker.FileTypeFilter.Add(".jpeg");
        openPicker.FileTypeFilter.Add(".png");
    
        StorageFile file = await openPicker.PickSingleFileAsync();
        if (file != null)
        {   await file.CopyAsync( ApplicationData.Current.LocalFolder );
            // Application now has read/write access to the picked file
            String a = "ms-appdata:///local/" + file.Name;
            theItem.Source = new BitmapImage(new Uri(a));
        }
        else
        {
            theImage.Text = "Operation cancelled.";
        }
    }
    

相关问题