问题描述
有什么方法可以转换WriteableBitmap 到 C# 中的位图?
Is there any way for converting WriteableBitmap to Bitmap in C# ?
推荐答案
实际上非常简单.下面是一些应该工作的代码.我还没有测试过它,我是从头开始写的.
It's pretty straightforward, actually. Here's some code that should work. I haven't tested it and I'm writing it from the top of my head.
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,可以直接保存到流中.然后,您从此流构建位图.
The WriteableBitmap inherits from a BitmapSource, which can be saved directly to a stream. Then, you build a Bitmap from this stream.