您的位置:首页 > 其它

MFC中Picture控件,将位图转换成任意大小再放入控件中

2016-07-23 18:00 357 查看
CRect r(0, 0, 820, 150);
CDC* pdcpic = m_firstPicture.GetDC();  //m_firstPicture是Picture控件的变量

CBitmap bitmap1;
bitmap1.LoadBitmap(IDB_BITMAP1);   //IDB_BITMAP1是要加载的位图的ID
BITMAP bmp1;
bitmap1.GetBitmap(&bmp1);
CDC memdc;
memdc.CreateCompatibleDC(pdcpic);
memdc.SelectObject(&bitmap1);

CDC ppdc;
ppdc.CreateCompatibleDC(pdcpic);
CBitmap bmpbuf;                    //bmpbuf是要放入控件中的位图
bmpbuf.CreateCompatibleBitmap(pdcpic, r.right, r.bottom);
ppdc.SelectObject(&bmpbuf);

ppdc.StretchBlt(0, 0, 820,150,&memdc,0,0,bmp1.bmWidth,bmp1.bmHeight, SRCCOPY);  //将IDB_BITMAP1复制到bmpbuf位图中,并按指定的大小转换

m_firstPicture.SetBitmap((HBITMAP)bmpbuf.Detach());
m_firstPicture.ReleaseDC(pdcpic);
memdc.DeleteDC();
ppdc.DeleteDC();


在网上找了很久的资料,终于解决了问题。分享给大家,希望有帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: