Converting WriteableBitmap to Bitmap in C#

20,568

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;
}

The WriteableBitmap inherits from a BitmapSource, which can be saved directly to a stream. Then, you build a Bitmap from this stream.

Share:
20,568
GVillani82
Author by

GVillani82

Passionate about mobile development, clean code and reactive programming

Updated on December 29, 2020

Comments