MFC导入并显示BMP图片功能实现

61 篇文章 4 订阅

为了保存位图信息及对位图进行处理,MFC提供了一个位图类CBitmap,其右两个向CBitmap类对象装载位图文件信息的成员函数。

BOOL LoadBitmap(LPCTSTR lpszResoutceName);

BOOL LoadBitmap(UNIT nIDResource);

其中,参数lpszResoutceName为资源名称,而nIDResource为资源的表示.

这样,为了使用位图,则需要先定义一个位图类的对象,然后用上面的任意一个成员函数把位图装载到对象中.例如,下面的代码

CBitmap m_Bmp;                     // 定义位图对象

m_Bmp.LoadBitmap(IDB_BITMAP);       //表示为IDB_BITMAP的位图装入对象


在文档类声明中,声明如下对象和数据成员.

// 属性
public:
 CBitmap m_Bitmap;
 int m_nWidth;
 int m_nHeight;


在文档类的构造函数中装载位图和获得位图的尺寸.

CMy006Doc::CMy006Doc()
{
 // TODO: 在此添加一次性构造代码
 BITMAP BM;
 m_Bitmap.LoadBitmap(IDB_BITMAP1);
 m_Bitmap.GetBitmap(&BM);
 m_nWidth = BM.bmWidth;
 m_nHeight = BM.bmHeight;

}

 

在视图类的OnDraw函数中,显示位图

void CMy006View::OnDraw(CDC* pDC)// 注意此处,默认情况下 pDC是被注释掉的,我都被害惨了..
{
 CMy006Doc* pDoc = GetDocument();
 ASSERT_VALID(pDoc);

//=======================================================================
 CDC MemDC;
 MemDC.CreateCompatibleDC(NULL);
 MemDC.SelectObject(pDoc->m_Bitmap);
 pDC->BitBlt(0,0,pDoc->m_nWidth,pDoc->m_nHeight,&MemDC,0,0,SRCCOPY);
//=======================================================================

 // TODO: 在此处为本机数据添加绘制代码
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值