Ik heb een methode om een afbeelding te laden:
RESULT CChildView::OnLoadPng( WPARAM wparam, LPARAM lParam )
{
CGdiPlusBitmapResource* pBitmap = new CGdiPlusBitmapResource;
if (pBitmap->Load(wparam, _T("PNG")))
{
CClientDC dc(this);
Gdiplus::Graphics graphics(dc);
Gdiplus::Color white(255, 255, 255, 255);
graphics.Clear(white);
graphics.DrawImage(*pBitmap, 0, 0);
}
else
{
AfxMessageBox("Failure loading image");
}
delete pBitmap;
return 0L;
}
Het probleem is dat ik deze methode vele malen noem, en elke keer dat het geheugen meer en meer toeneemt. De beelden overlappen elkaar de laatste en dat wil ik niet. Ik heb graphics geprobeerd.Flush() voor graphics.DrawImage, maar dat werkt niet.
Het enige dat werkte, was het venster vernietigen, maar toen kon ik een afbeelding niet meer laden.
Kent u een manier om te wissen/wissen wat met graphics is getekend.DrawImage om nog een afbeelding te laden?