Dib.h
上传用户:yuzhuan
上传日期:2013-03-16
资源大小:3596k
文件大小:1k
源码类别:

2D图形编程

开发平台:

Visual C++

  1. // Dib.h: interface for the Dib class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DIB_H__64E5CC0D_2667_4DB9_B914_04C93223B755__INCLUDED_)
  5. #define AFX_DIB_H__64E5CC0D_2667_4DB9_B914_04C93223B755__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. /*#ifndef ___CDib_H
  10. #define ___CDib_H*/
  11. class CDib :public CObject
  12. {
  13. public:
  14. RGBQUAD *m_pRGB;
  15. BYTE *m_pData;//图像数据
  16. UINT m_numberOfColors;//图像实际使用的颜色表中的颜色数
  17. BOOL m_valid;
  18. BITMAPFILEHEADER bitmapFileHeader;
  19. BITMAPINFOHEADER *m_pBitmapInfoHeader;
  20.     BITMAPINFO *m_pBitmapInfo;
  21. BYTE *pDib;
  22. DWORD size;
  23. CPalette hPalette;
  24. public:
  25. CDib();
  26. ~CDib();
  27. char m_fileName[256];
  28. char *GetFileName();
  29. BOOL IsValid();
  30. DWORD GetSize();
  31. UINT GetWidth();
  32.     UINT GetHeight();
  33. UINT GetNumberOfColors();
  34. RGBQUAD *GetRGB();
  35. BYTE *GetData();
  36. BITMAPINFO *GetInfo();
  37.     WORD PaletteSize(LPBYTE lpDIB);
  38. WORD DIBNumColors(LPBYTE lpDIB);
  39. void Sub(LPBYTE p_data,  LPBYTE p_dataBK,int wide,int height);
  40. void SaveFile(const CString filename);
  41. CPalette *CreateBmpPalette();
  42. public:
  43. void LoadFile(const CString dibFileName);
  44. };
  45. #endif // !defined(AFX_DIB_H__64E5CC0D_2667_4DB9_B914_04C93223B755__INCLUDED_)