我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1282|回复: 0

MFC如何显示位图-ARM

[复制链接]

该用户从未签到

1万

主题

1424

回帖

3万

积分

管理员

积分
32032

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-7-30 19:13:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
void CBitmapView::wtj_paint(){ CDC *pDC; pDC=GetDC(); CBitmap wtj_bitmap; CDC dcMemory; wtj_bitmap.LoadBitmap(IDB_BITMAP1); BITMAP bmInfo; wtj_bitmap.GetObject(sizeof(bmInfo),&bmInfo); dcMemory.CreateCompatibleDC(pDC); dcMemory.SelectObject(&wtj_bitmap); pDC->BitBlt(100,100,bmInfo.bmWidth,bmInfo.bmHeight, &dcMemory,0,0,SRCCOPY);ReleaseDC(pDC);}其中我还是不大明白,为什么wtj_bitmap.GetObject()函数可以这样用,可以说是把wtj_bitmap的信息copy到了bmInfo中。昨天我都还在想,怎样才能把位图的长和宽的信息取出来!哦解决了!简单的记一下如何显示位图:1、声明一个CBitmap对象,并从资源中加位图。2、创建一个兼容的DC,用CDC的成员函数CreateCompatibleDC。3、用CDC的成员函数SelectObject将位图选入到兼容DC中。4、用CDC的成员函数BitBlt来输出位图。就这样了,一个完整的位图说显示了!/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////如下的改动可以使位图在窗口中全部显示,自动拉伸!void CBitmapView::wtj_paint(){ CDC *pDC; CRect rect; pDC=GetDC(); CBitmap wtj_bitmap; CDC dcMemory; wtj_bitmap.LoadBitmap(IDB_BITMAP1); BITMAP bmInfo; wtj_bitmap.GetObject(sizeof(bmInfo),&bmInfo); dcMemory.CreateCompatibleDC(pDC); dcMemory.SelectObject(&wtj_bitmap); pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMemory, 0,0, bmInfo.bmWidth,bmInfo.bmHei ght, SRCCOPY); ReleaseDC(pDC);}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

每日签到,有金币领取。


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表