在C#中将WriteableBitmap转换为位图

时间:2013-06-25 12:59:56

标签: c# .net bitmap writeablebitmap

有没有办法在C#中将WriteableBitmap转换为Bitmap

1 个答案:

答案 0 :(得分:20)

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

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,可以直接保存到流中。然后,您从此流构建一个位图。