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

2020-01-06 13:59:45王旭
使用VC进行图像处理的时候,CBitmap类为我们提供了丰富的位图处理函数,本文总结了该类的相关函数和常用使用方法,包括加载位图,显示位图,析构CBitmap资源以及在内存中保存位图等内容。    

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

  1. class CBitmap : public CGdiObject  { 
  2.   DECLARE_DYNAMIC(CBitmap)   
  3. public:    static CBitmap* PASCAL FromHandle(HBITMAP hBitmap); 
  4.   // Constructors 
  5.   CBitmap();   
  6.   BOOL LoadBitmap(LPCTSTR lpszResourceName);    BOOL LoadBitmap(UINT nIDResource); 
  7.   BOOL LoadOEMBitmap(UINT nIDBitmap); // for OBM_/OCR_/OIC_  #ifndef _AFX_NO_AFXCMN_SUPPORT 
  8.   BOOL LoadMappedBitmap(UINT nIDBitmap, UINT nFlags = 0,      LPCOLORMAP lpColorMap = NULL, int nMapSize = 0); 
  9. #endif    BOOL CreateBitmap(int nWidth, int nHeight, UINT nPlanes, UINT nBitcount, 
  10.       const void* lpBits);    BOOL CreateBitmapIndirect(LPBITMAP lpBitmap); 
  11.   BOOL CreateCompatibleBitmap(CDC* pDC, int nWidth, int nHeight);    BOOL CreateDiscardableBitmap(CDC* pDC, int nWidth, int nHeight); 
  12.   // Attributes 
  13.   operator HBITMAP() const;    int GetBitmap(BITMAP* pBitMap); 
  14.   // Operations 
  15.   DWORD SetBitmapBits(DWORD dwCount, const void* lpBits);    DWORD GetBitmapBits(DWORD dwCount, LPVOID lpBits) const; 
  16.   CSize SetBitmapDimension(int nWidth, int nHeight);    CSize GetBitmapDimension() const; 
  17.   // Implementation 
  18. public:    virtual ~CBitmap(); 
  19. #ifdef _DEBUG    virtual void Dump(CDumpContext& dc) const; 
  20. #endif  };