繁体   English   中英

在运行时C#(uwp)上将图像添加到资产

[英]Add an image to assets on runtime c# (uwp)

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

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.";
        }
    }

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

我将非常感谢您的帮助。

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

uwp项目的资产文件夹在运行时模型中是只读的,我们无法在运行时中添加图片。 我们建议使用“ 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.";
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM