如何将内存中的 Bitmap
对象分配给 WPF 中的 Image
控件?
最佳答案
根据 http://khason.net/blog/how-to-use-systemdrawingbitmap-hbitmap-in-wpf/
[DllImport("gdi32")]
static extern int DeleteObject(IntPtr o);
public static BitmapSource loadBitmap(System.Drawing.Bitmap source)
{
IntPtr ip = source.GetHbitmap();
BitmapSource bs = null;
try
{
bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(ip,
IntPtr.Zero, Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}
finally
{
DeleteObject(ip);
}
return bs;
}
它获取 System.Drawing.Bitmap(来自 WindowsBased)并将其转换为 BitmapSource,它实际上可以用作 WPF 中 Image 控件的图像源。
image1.Source = YourUtilClass.loadBitmap(SomeBitmap);
关于c# - 在WPF中使用Image控件显示System.Drawing.Bitmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1118496/