位图资源的使用

 虽然书上都有,但权当做一个学习笔记.以防以后忘记了.

位图资源的使用,需要经过以下步骤:

1.创建位图资源.(硬盘上)

2.把位图资源载入位图对象.

 CBitmap m_Bitmap;

  Bitmap.LoadBitmap(*****);(在内存上)

3.获得位图信息.(为什么要获得位图信息,是由于位图是与硬件有关的资源).

BITMAP  BM;

m_Bitmap.GetBitmap(&BM);//BM 主要为BitBlt服务

4.把位图选入内存设备环境.

CDC   MemDC;

MemDC.CreateCompatibleDC(NULL);

MemDC.SelectObject(&m_Bitmap);

5.显示位图(在显示器上显示)

BOOL CDC::BitBlt(int x, int y, int nWidth, int nHeight, CDC *PscrDc, int xSrc, int ySrc,DWORD dwRop);

完整事例

(1) 制作位图 qiche,然后把它保存在工程的res文件夹中.

(2)在Resource.h文件中添加如下标识符

#define IDB_MY_BITMAP 130

(3) 打开工程的资源描述文件.

IDB_MY_BITMAP       BITMAP   DISCARDABLE      "res//qiche.bmp"

(4)在文挡类声明中,声明如下对象和数据成员

class CMFCexp8_4Doc: public CDocument

{

  ...

  public:

           CBitmap m_Bitmap;

          int  m_nWidth;

         int  m_nHeight;

   ....

};

(5)在文挡类的构造函数中装载位图和获的尺寸

CMFCexp8_4Doc::CMFCexp8_4Doc()

{

      BITMAP   BM;

     m_Bitmap.LoadBitmap(IDB_MY_BITMAP);

     m_Bitmap.GetBitmap(&BM);

      m_nWidth=BM.bmWidth;

     m_nHeight=BM.bmHeight;

}

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

void CMFCexp8_4Veiw::OnDraw(CDC* pDC)

{

      CMFCexp8_4Doc *pDoc=GetDocument();

      ASSERT_VALID(pDoc);

     CDC  MemDC;

     MemDC.CreateCompatibleDC(NULL);

     MemDC.SelectObject(pDoc->m_nBitmap);

     pDC->BitBlt(0,0,pDoc->m_nWidth, pDoc->nHeight,

                            &MemDC,0,0,SRCCOPY);

 

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值