【发布时间】:2011-12-18 22:53:51
【问题描述】:
无论我多么努力地寻找和尝试,我都找不到这段代码泄漏的原因。实际上,我不确定是否存在泄漏,但每次使用这段代码时 GDI 对象的数量都会增加。
HBITMAP hBmp;
hBmp = CreateDIBitmap(dc, &stBmpIH, CBM_INIT, m_pBitmapData, m_pBitmapInfo, DIB_RGB_COLORS) ;
Bitmap *pBMP = NULL;
HPALETTE hPal = NULL;
Color col = 0;
pBMP = Bitmap::FromHBITMAP(hBmp, hPal);
if (m_bFlip)
{
pBMP->RotateFlip( Rotate90FlipXY );
pBMP->GetHBITMAP(col,&hBmp);
m_bFlip = FALSE;
}
else
{
pBMP->RotateFlip( RotateNoneFlipX );
pBMP->GetHBITMAP(col,&hBmp);
}
delete pBMP;
我用工具检查了 GDI 对象,发现 HBITMAP hBmp 是泄漏的对象。我应该如何删除它?
删除对象不起作用。
谢谢
【问题讨论】:
标签: c++ bitmap gdi hbitmap gdi+