私はイメージを読み込むメソッドです:
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;
}
問題は何度もこのメソッドを呼び出し、メモリがますます増えることです。画像は最後に重ねて表示されますが、私はそれを望んでいません。私はgraphics.DrawImageの前にgraphics.Flush()を試みましたが、それはうまくいきません。
うまくいったのはウィンドウを破壊することだけでしたが、イメージをもう一度読み込めませんでした。
他の画像を読み込むためにgraphics.DrawImageで描画されたものをフラッシュ/クリアする方法は知っていますか?