【发布时间】:2013-06-22 06:59:41
【问题描述】:
有什么方法可以在 C# 中将 WriteableBitmap 转换为 Bitmap 吗?
【问题讨论】:
-
@GeorgeJohnston BitmapImage 位于 System.Windows.Media 命名空间中。位图位于 System.Drawing 命名空间中。两者之间转换的方法完全不同。
标签: c# .net bitmap writeablebitmap
有什么方法可以在 C# 中将 WriteableBitmap 转换为 Bitmap 吗?
【问题讨论】:
标签: c# .net bitmap writeablebitmap
实际上,这很简单。下面是一些应该工作的代码。我还没有测试它,我是从头顶写的。
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,可以直接保存到流中。然后,您从此流构建位图。
【讨论】: