如何将剪贴板中的图像转换为 C# 中的流?

How to convert an image in a clipboard into a Stream in C#?

如何在 C# 中将剪贴板中复制的图像检索到 System.IO.Stream?

Stream lStream = new MemoryStream();

IDataObject lIDataObj = Clipboard.GetDataObject();

if (lIDataObj.GetDataPresent(DataFormats.Bitmap))
{
  System.Drawing.Image lImage = (System.Drawing.Image)lIDataObj.GetData(DataFormats.Bitmap);

  lImage.Save(lStream, System.Drawing.Imaging.ImageFormat.Jpeg);

  //this.RADRichTextBox.InsertImage(lStream, "jpg");
}

基于 this SO post,您必须通过以下方式修改填充流的方式:

System.Drawing.Image lImage = (System.Drawing.Image)lIDataObj.GetData(DataFormats.Bitmap);
lStream.Save(lImage, System.Drawing.Imaging.ImageFormat.Jpeg);

剪贴板不包含 WPF 图像,而是 Windows 表单位图。因此,您要做的是先获取 Windows Forms Bitmap,然后 然后 将其转换为 WPF 图像。

可以在这里找到一个例子:WPF Image: .Source = Clipboard.GetImage() is not displayed