且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将位图转换为图像

更新时间:2023-01-23 10:02:43

我不知道你的意思是将其重新包装回到DLL,但有一个简单的方法将WPF图像从BitmapSource转换回System.Drawing.Image。以下方法实现:

I don't know what you mean by "repackage it back into the DLL" but there is an easy way to convert a WPF image from a BitmapSource back into a System.Drawing.Image. The following method accomplishes that:

/// <summary>
/// Converts a WPF bitmap to a System.Drawing.Bitmap
/// </summary>
/// <param name="wpfBitmap">BitmapSource to convert</param>
/// <returns>A GDI Bitmap</returns>
public static System.Drawing.Bitmap GdiBitmapFromWpfBitmap(BitmapSource wpfBitmap)
{
    PngBitmapEncoder encoder = new PngBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(wpfBitmap));
    MemoryStream imageStream = new MemoryStream();
    encoder.Save(imageStream);
    System.Drawing.Bitmap gdiBitmap = new System.Drawing.Bitmap(imageStream);

    imageStream.Close();
    imageStream.Dispose();

    return gdiBitmap;
}