如何让图像在窗口指定区域显示?

banmiton 2010-04-09 10:59:59
请问在使用GDI绘图时,如何让所绘图画自适应窗口大小?或者设置在窗口指定区域绘图?我用如下代码绘画:
CDC* pDC;
pDC =GetDC();
Graphics graphics(pDC->m_hDC);
Image image2(L"F:\\VC++\\png效果\\res\\wall.png", FALSE);
graphics.DrawImage(&image2, 0,0);//0,0表示在窗口的左上方x,y坐标
这样画出来的图像填充了整个窗口,我想让所绘图画在指定区域显示,该如何操作?或者设置图像大小,让图像缩小,但仍完整显示而不填充整个窗口,哪位大侠知道,请指教。谢谢。。。
...全文
391 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jw5858 2010-04-10
  • 打赏
  • 举报
回复
CDC* pDC;
pDC =GetDC();
Graphics graphics(pDC->m_hDC);
Image image2(L"F:\\VC++\\png效果\\res\\wall.png", FALSE);
Rect desRect( 要显示x坐标,显示的y坐标,宽度,高度);

graphics.DrawImage(&image2, desRect);//指定区域
glacier3d 2010-04-10
  • 打赏
  • 举报
回复
自适应窗口大小:计算坐标,OnSize()时对应更新坐标,OnDraw()里绘制
指定区域绘图:StrechBlt(),具体参数MSDN里很详细
luoling8825 2010-04-09
  • 打赏
  • 举报
回复
CRect r1;
m_pic_area.GetClientRect(&r1);
CDC* pDC=m_pic_area.GetDC();
pDC->FillRect(&r1,NULL);

CDC hmemdc;
hmemdc.CreateCompatibleDC(pDC);
hmemdc.SelectObject(m_hBitmap1);

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧