• 设为首页
  • 收藏本站
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    论坛调试中-请所有人不要下载资料,下载失败,浪费积分后果自负。
    查看: 1277|回复: 0

    MFC如何显示位图-ARM

    [复制链接]

    1万

    主题

    1291

    回帖

    2万

    积分

    管理员

    积分
    29575

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

    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);}
    回复

    使用道具 举报

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

    本版积分规则

    公告:服务器刚移机,
    大家请不要下载东西。
    会下载失败


    QQ 手机版 小黑屋 监管台 遇到问题请联系QQ1308068381 逆天PCB论坛

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表