6

有什么方法可以在 C#中将WriteableBitmap转换为Bitmap吗?

4

1 回答 1

24

实际上,这很简单。这是一些应该可以工作的代码。我还没有测试它,我是从头顶写的。

private System.Drawing.Bitmap BitmapFromWriteableBitmap(WriteableBitmap writeBmp)
{
  System.Drawing.Bitmap bmp;
  using (MemoryStream outStream = new MemoryStream())
  {
    BitmapEncoder enc = new BmpBitmapEncoder();
    enc.Frames.Add(BitmapFrame.Create((BitmapSource)writeBmp));
    enc.Save(outStream);
    bmp = new System.Drawing.Bitmap(outStream);
  }
  return bmp;
}

WriteableBitmap 继承自 BitmapSource,可以直接保存到流中。然后,您从此流构建位图。

于 2013-06-25T13:11:16.693 回答