Bitmap.GetHbitmap()州的MSDN:
备注
您负责调用GDI DeleteObject方法以释放GDI位图对象使用的内存。
因此,使用以下代码:
// at class level[System.Runtime.InteropServices.Dllimport("gdi32.dll")]public static extern bool DeleteObject(IntPtr hObject);// your preusing (System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(1000, 1000)) { IntPtr hBitmap = bmp.GetHbitmap(); try { var source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()); } finally { DeleteObject(hBitmap); }}
我也用声明代替了你的
Dispose()电话
using。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)