是否有任何等效的
Clipboard.GetImage().Save(FileName, Imaging.ImageFormat.Jpeg)
对于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()
...
但我不知道如何继续(即使我甚至已经正确开始)。
答案 0 :(得分:6)
第一步是尝试从剪贴板中获取图像(如果存在):
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());
}
}
}
}