读书人

请问picture控件中图像的缩放(Stretc

发布时间: 2012-10-10 13:58:11 作者: rapoo

请教picture控件中图像的缩放(StretchBlt)

C/C++ code
void CStretchImageDlg::OnStretchImage(){    CRect r;    m_picture.GetClientRect(&r);//m_picture为picture控件对应变量(control)    CDC* pDC = m_picture.GetDC();       //填充背景    pDC->FillRect(&r,NULL);    //将位图选进设备场景中    CBitmap cbmp;    cbmp.LoadBitmap(IDB_BITMAP1);    CDC memdc;    memdc.CreateCompatibleDC(pDC);    memdc.SelectObject(&cbmp);    BITMAP bmp;    //获得位图参数    long width,height;    cbmp.GetBitmap(&bmp);    width = bmp.bmWidth;    height = bmp.bmHeight;      //缩放位图为原来的50%                                                     pDC->StretchBlt(r.left,r.top,(int)(width*0.5),(int)(height*0.5),    &memdc,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);}


以上代码实现的是对资源中的bmp图像(IDB_BITMAP1)进行50%的缩放,现在我有一个图片是c:\\11.bmp,我想在picture控件中进行50%的比例显示出来,应该怎么办?

我这样:
HBITMAP hBitmap;
CString sFile = _T("c:\\image.bmp");
hBitmap = (HBITMAP)LoadImage( GetModuleHandle(NULL),(LPCTSTR)sFile, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
CBitmap cbmp;
cbmp.Attach(hBitmap);

但是报错,怎么办??急,没什么分了,对不起大家了 麻烦了~~~~~~~~~~~~


[解决办法]
报什么错啊,贴出来。

读书人网 >VC/MFC

热点推荐