MFC中关于picture 控件的问题:
我想在picture中加图片但是图片太大了所以只能显示一部分(在picture控件中)。所以请教下高手怎样把图片改成控件大小的呢?(应该就缩放吧,最好给个代码吧)谢谢了。...
我想在picture中加图片 但是图片太大了所以只能显示一部分(在picture控件中)。所以请教下高手怎样把图片改成控件大小的呢?(应该就缩放吧,最好给个代码吧)
谢谢了。 展开
谢谢了。 展开
1个回答
展开全部
添加CBitmap成员变量:CBitmap m_bmp;
在对话框的初始化函数中加载图片文件:
HBITMAP hbp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), "c:\\1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hbp==NULL)
return FALSE;
m_bmp.Attach(hbp);
在对话框的OnPaint()函数中增加如下:
CPaintDC dc(GetDlgItem(IDC_STATIC1));
CRect rc;
GetDlgItem(IDC_STATIC1)->GetWindowRect(&rc);
CDC dcMem;
BITMAP bmp;
dcMem.CreateCompatibleDC(&dc);
dcMem.SelectObject(&m_bmp);
m_bmp.GetBitmap(&bmp);
dc.StretchBlt(0,0,rc.Width(),rc.Height(),&dcMem,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
CDialog::OnPaint();
在对话框的初始化函数中加载图片文件:
HBITMAP hbp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), "c:\\1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hbp==NULL)
return FALSE;
m_bmp.Attach(hbp);
在对话框的OnPaint()函数中增加如下:
CPaintDC dc(GetDlgItem(IDC_STATIC1));
CRect rc;
GetDlgItem(IDC_STATIC1)->GetWindowRect(&rc);
CDC dcMem;
BITMAP bmp;
dcMem.CreateCompatibleDC(&dc);
dcMem.SelectObject(&m_bmp);
m_bmp.GetBitmap(&bmp);
dc.StretchBlt(0,0,rc.Width(),rc.Height(),&dcMem,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
CDialog::OnPaint();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询