在C#中将WriteableBitmap转换为Bitmap

本文关键字:Bitmap 转换 WriteableBitmap 中将 | 更新日期: 2023-09-27 18:19:46

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

在C#中将WriteableBitmap转换为Bitmap

实际上,它非常简单。以下是应该工作的一些代码。我还没有测试过它,我正在从头开始写。

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