相关疑难解决方法(0)

将已调整大小的位图文件设置为MFC图片控件

有没有比这更简单的方法,如果这是唯一的方法,这里是否有任何潜在的内存泄漏?

    CImage img1;
            int dimx = 100, dimy = 100;
    img1.Load(filename);
    //filename = path on local system to the bitmap

    CDC *screenDC = GetDC();
    CDC *pMDC = new CDC;
    pMDC->CreateCompatibleDC(screenDC);

    CBitmap *pb = new CBitmap;
    pb->CreateCompatibleBitmap(screenDC, dimx, dimy);

    CBitmap *pob = pMDC->SelectObject(pb);
    pMDC->SetStretchBltMode(HALFTONE);
    img1.StretchBlt(pMDC->m_hDC,0, 0, dimx, dimy, 0, 0, img1.GetWidth(), img1.GetHeight(), SRCCOPY);
    pMDC->SelectObject(pob);

    CImage new_image;
    new_image.Attach((HBITMAP)(*pb));
    //
    m_pictureCtrl.SetBitmap(new_image.Detach());
    ReleaseDC(screenDC);
Run Code Online (Sandbox Code Playgroud)

c++ mfc

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

mfc ×1