在WPF中 System.Windows.Clipboard.getImage() 功能返回a BitmapSource 目的。作为来自Winforms背景的WPF中的新手,我对我如何将此映像保存到文件时尚不清楚。我必须采取什么步骤?

有帮助吗?

解决方案

您需要使用编码器( BitmapEncoder)。例如,要将其保存到PNG格式,您可以做类似的事情:

public static void SaveClipboardImageToFile(string filePath)
{
    var image = Clipboard.GetImage();
    using (var fileStream = new FileStream(filePath, FileMode.Create))
    {
        BitmapEncoder encoder = new PngBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(image));
        encoder.Save(fileStream);
    }
}

顺便说一下,请注意 一个错误 Clipboard.GetImage. 。如果您只将图像保存到文件,那就不是问题,但是如果您想显示它。


编辑:上述错误似乎已固定在4.0中

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top