Преобразование WriteableBitmap в растровое изображение в C#

Есть ли способ для преобразования WriteableBitmap в растровое изображение в C#?

1 ответ

Решение

Это довольно просто, на самом деле. Вот код, который должен работать. Я не проверял это, и я пишу это с макушки головы.

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, который можно сохранить непосредственно в поток. Затем вы создаете растровое изображение из этого потока.

Другие вопросы по тегам