VC++中图像处理类CBitmap的用法

2020-01-06 13:59:45王旭
?

2 装载位图文件

    为了能让CBitmap能够装载位图文件,必须调用API函数LoadImage
 

  1. HANDLE LoadImage(   HINSTANCE hinst,  // handle of the instance containing the image 
  2.  LPCTSTR lpszName, // name or identifier of image   UINT uType,    // type of image 
  3.  int cxDesired,   // desired width   int cyDesired,   // desired height 
  4.  UINT fuLoad    // load flags  ); 
?

装载: Example 1:
 

  1. HBITMAP hBmp = (HBITMAP)LoadImage(NULL,      m_fileName, 
  2.     IMAGE_BITMAP,       0, 0,  
  3.     LR_LOADFROMFILE | LR_DEFAULTCOLOR | LR_DEFAULTSIZE); 
?

Example 2:
 

  1. HBITMAP  hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),      "BG.bmp", 
  2.     IMAGE_BITMAP,      0,0, 
  3.     LR_LOADFROMFILE); 
?

将装载后得到的HBITMAP资源句柄 与 CBitmap 对象 相连
 

  1. if (hBmp != NULL) {      CBitmap *pBmp = CBitmap::FromHandle(hBmp); 
  2.   } 
?


 

  1. CBitmap bmp;    if (hBmp != NULL) { 
  2.     bmp.DeleteObject();      bmp.Attach(hBmp);   
  3.   } 
?

3 显示位图