Save WriteableBitmap to file using WPF

Sait picture Sait · Jun 26, 2012 · Viewed 21.6k times · Source

I have:

WriteableBitmap bmp;

I basicly want to save it into a file on the disk like the following:

C:\bmp.png

I read some forums which mentions to read:

bmp.Pixels

and save those pixels into a Bitmap then use Bitmap.SaveImage() function. However, I can't access any Pixels. Apperantly my WriteableBitmap does not have any property named Pixels.

I use .NET Framework 4.0.

Answer

Indy9000 picture Indy9000 · Jun 26, 2012

Use your WriteableBitmap's clone and use this function as below:

CreateThumbnail(filename, _frontBitmap.Clone());

...

void CreateThumbnail(string filename, BitmapSource image5)
{
    if (filename != string.Empty)
    {
         using (FileStream stream5 = new FileStream(filename, FileMode.Create))
         {
             PngBitmapEncoder encoder5 = new PngBitmapEncoder();
             encoder5.Frames.Add(BitmapFrame.Create(image5));
             encoder5.Save(stream5);
         }
    }
 }