收藏 分销(赏)

位图显示方法.doc

上传人:仙人****88 文档编号:11739541 上传时间:2025-08-11 格式:DOC 页数:3 大小:13.43KB 下载积分:10 金币
下载 相关 举报
位图显示方法.doc_第1页
第1页 / 共3页
位图显示方法.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
一、对话框中显示位图 1.在资源中导入位图文件 2.在对话框中添加PICTURE控件,属性中TYPE项选择BITMAP,IMAGE项选择导入的图片的ID 3.根据图片的大小要调整一下控件的大小 二、单文档中显示位图 1、在资源中导入位图文件,并创建位图对象 2、创建兼容DC,选择位图到兼容DC中 3、把兼容DC中的图片复制到实际的DC中,用BitBlt方法或StretchBlt方法,后者可以把图片拉伸或压缩符合目标矩形的大小 view plaincopy to clipboardprint? 01.void CGraphicView::OnDraw(CDC* pDC) 02.{ 03. CBitmap bitmap; 04. bitmap.LoadBitmap(IDB_BITMAP1); 05. 06. BITMAP bmp; 07. bitmap.GetBitmap(&bmp); 08. 09. CDC dcCompatible; 10. dcCompatible.CreateCompatibleDC(pDC); 11. 12. dcCompatible.SelectObject(&bitmap); 13. 14. CRect rect; 15. GetClientRect(&rect); 16.// pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY); 17. pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible, 18. 0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY); 19.} void CGraphicView::OnDraw(CDC* pDC) { CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); BITMAP bmp; bitmap.GetBitmap(&bmp); CDC dcCompatible; dcCompatible.CreateCompatibleDC(pDC); dcCompatible.SelectObject(&bitmap); CRect rect; GetClientRect(&rect); // pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY); pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible, 0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY); } 兼容DC可以理解成就是一块内存,创建后只存储一个像素,当导入BITMAP后,就变为和位图同样大小的内存。 NOTE: 在OnDraw函数中显示图片会有个问题,当拖动界面边框的时候图片会一闪一闪的,是因为在调用OnDraw之前会先擦除背景。 擦除背景的函数是 BOOL CGraphicView::OnEraseBkgnd(CDC* pDC) 。在这个函数中加入上述显示图片的代码,同时注释掉原来的return CView::OnEraseBkgnd(pDC); 就不会产生闪动的问题。 view plaincopy to clipboardprint? 01.BOOL CGraphicView::OnEraseBkgnd(CDC* pDC) 02.{ 03. // TODO: Add your message handler code here and/or call default 04. CBitmap bitmap; 05. bitmap.LoadBitmap(IDB_BITMAP1); 06. 07. BITMAP bmp; 08. bitmap.GetBitmap(&bmp); 09. 10. CDC dcCompatible; 11. dcCompatible.CreateCompatibleDC(pDC); 12. 13. dcCompatible.SelectObject(&bitmap); 14. 15. CRect rect; 16. GetClientRect(&rect); 17.// pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY); 18. pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible, 19. 0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY); 20. return TRUE; 21.// return CView::OnEraseBkgnd(pDC); 22.} 本文来自CSDN博客,转载请标明出处:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服