WPF CreateBitmapSourceFromHBitmap()内存泄漏

WPF CreateBitmapSourceFromHBitmap()内存泄漏,第1张

WPF CreateBitmapSourceFromHBitmap()内存泄漏

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5440950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存