Dib.h
上传用户:ynjin1970
上传日期:2014-10-13
资源大小:6438k
文件大小:1k
源码类别:

中间件编程

开发平台:

Visual C++

  1. // Dib.h: interface for the CDib class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DIB_H__2D8EBEA6_A696_47F5_A473_F28E50A272AD__INCLUDED_)
  5. #define AFX_DIB_H__2D8EBEA6_A696_47F5_A473_F28E50A272AD__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. class CDib : public CObject  
  10. {
  11. public:
  12. CDib();
  13. virtual ~CDib();
  14. public:
  15. HANDLE GetDIBHandle();
  16. long GetImageWidth();
  17. long GetImageHeight();
  18. int GetDIBColorsNum(BITMAPINFOHEADER* bmInfoHeader);
  19. void ReadDIBFile(LPTSTR lpFilename);
  20. void LoadDIB(LPTSTR lpFilename);
  21. void ClearMemory();
  22. HPALETTE CreateDIBPalette();
  23. BOOL PaintDIB(HDC hDC,long width,long height);
  24. void OnHistogramEqualize();
  25. BOOL OnChangeToGray();
  26. BOOL OnGrayStretch(BYTE x1,BYTE x2,BYTE y1,BYTE y2);
  27. BOOL OnChangeBrightness(float fa,float fb);
  28. protected:
  29. long m_Width;//图像宽度
  30. long m_Height;//图像高度
  31. BITMAPINFOHEADER* bmInfoHeader;//图像信息头
  32. HANDLE hDIB;
  33. public:
  34. BITMAPINFO* bmpInfo;
  35. BYTE* lpDIBBits;//图像数据指针
  36. };
  37. #endif // !defined(AFX_DIB_H__2D8EBEA6_A696_47F5_A473_F28E50A272AD__INCLUDED_)