在WPF中, System.Windows.Clipboard.getImage() 函数返回 BitmapSource 对象。作为WPF的新手,我不清楚如何将此图像保存到文件中。我必须采取哪些步骤?
System.Windows.Clipboard.getImage()
BitmapSource
您需要使用编码器(的子类 BitmapEncoder )例如,要将其保存为PNG格式,请执行以下操作:
BitmapEncoder
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); } }
顺便说一下,注意 a bug in Clipboard.GetImage . 如果您只将图像保存到一个文件中,这不应该是一个问题,但如果您想显示它,这将是一个问题。
Clipboard.GetImage
编辑:上面提到的bug似乎在4.0中得到了修复。