在C#中将WriteableBitmap转换为位图

有没有办法在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; } 

WriteableBitmapinheritance自BitmapSource,可以直接保存到流中。 然后,您从此流构建一个位图。