如何在UWP中将图像从剪贴板保存到文件

Jir*_*iak 8 c# vb.net uwp

有没有相当的

Clipboard.GetImage().Save(FileName, Imaging.ImageFormat.Jpeg)
Run Code Online (Sandbox Code Playgroud)

对于UWP(Windows通用平台)?即将图形图像从剪贴板保存为jpg格式到文件.

我在vb.net/C#中寻找示例.

我已经开始了

Dim datapackage = DataTransfer.Clipboard.GetContent()
If datapackage.Contains(StandardDataFormats.Bitmap) Then
Dim r As Windows.Storage.Streams.RandomAccessStreamReference = Await datapackage.GetBitmapAsync()
Run Code Online (Sandbox Code Playgroud)

...

但我不知道如何继续(即使我甚至已经正确开始).

Igo*_*lic 7

第一步是尝试从剪贴板获取图像(如果存在):

var dataPackageView = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent();
if (dataPackageView.Contains(StandardDataFormats.Bitmap))
{
    IRandomAccessStreamReference imageReceived = null;
    try
    {
        imageReceived = await dataPackageView.GetBitmapAsync();
    }
    catch (Exception ex)
    {
    }
Run Code Online (Sandbox Code Playgroud)

如果存在,请启动文件保存选择器,选择保存图像的位置,并将图像流复制到新文件.

    if (imageReceived != null)
    {
        using (var imageStream = await imageReceived.OpenReadAsync())
        {
            var fileSave = new FileSavePicker();
            fileSave.FileTypeChoices.Add("Image", new string[] { ".jpg" });
            var storageFile = await fileSave.PickSaveFileAsync();

            using (var stream = await storageFile.OpenAsync(FileAccessMode.ReadWrite))
            {
                await imageStream.AsStreamForRead().CopyToAsync(stream.AsStreamForWrite());
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)