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