c# - 如何将图像从剪贴板保存到 UWP 中的文件

标签 c# vb.net uwp

有没有等价物

Clipboard.GetImage().Save(FileName, Imaging.ImageFormat.Jpeg)

适用于 UWP(Windows 通用平台)? IE。将剪贴板中的图形图像保存为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()

...

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

最佳答案

第一步是尝试从剪贴板中获取图像,如果它存在的话:

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

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

    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());
            }
        }
    }
}

关于c# - 如何将图像从剪贴板保存到 UWP 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593722/

相关文章:

c# - 在核心的 odataqueryoptions 中处理选择?

asp.net - 在 Global.asax 上使用 IHttpModule

c# - 根据 xaml 中的文本框禁用/启用按钮

C# 显示sql数据库中的字符串

c# - unique LINQ to filter list by variables(不区分大小写)

vb.net 移动物体的更多性能

c# - 在没有 toUpper/toLower 的情况下大写/小写字符串的最有效方法

c# - XamlCompiler 错误 WMC0055 : Cannot assign text value '10.0' into property 'xx' of type 'Decimal'

c# - 如何在 raspberry pi3 windows iot core os 上录制 mp3 格式的音频?

c# - 数据库连接不工作 - System.Data.SqlClient.SqlException : No process is on the other end of the pipe