📄 dib.h
字号:
// Dib.h: interface for the CDib class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DIB_H__432F91A6_4908_4AA0_AED2_E215A0023159__INCLUDED_)
#define AFX_DIB_H__432F91A6_4908_4AA0_AED2_E215A0023159__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
struct Pix24Bitmap {
BYTE Blue;
BYTE Green;
BYTE Red;
};
class CDib:public CObject
{
DECLARE_DYNAMIC(CDib)
public:
CDib();
CDib(const char* pszDibFileName);
virtual ~CDib();
int Draw(HDC hdc, int XDest, int YDest, int nDestWidth, int nDestHeight, int XSrc, int YSrc, int nSrcWidth, int nSrcHeight, UINT iUsage, DWORD dwRop);
public:
void DrawDib(HDC hDC);
void ClearMemory();
HPALETTE CreateBitmapPalette();
// Pix24Bitmap m_nBitmapData24;
#ifdef _DEBUG
virtual void Dump(CDumpContext& dc) const;
virtual void AssertValid() const;
#endif
////
DWORD GetDdbData32(LPBYTE lpbyDdb32);
DWORD GetDdbData24(LPBYTE lpbyDdb24);
DWORD GetDibWidthBytes(int nWidth, BYTE byBitCount);
BYTE GetBitCount() const;
DWORD GetSize();
LONG GetWidth() const;
LONG GetHeight() const;
UINT GetColorNumber() const;
char* GetFileName() const;
BOOL IsValid() const ;
RGBQUAD* GetRGBQuad() const ;
BYTE* GetDibData() const ;
BITMAPINFO* GetBmpInfo() const;
Pix24Bitmap LoadBitmapIndex(int i,int j);
protected:
BOOL m_bValid; //表示装载位图图像的操作过程是否成功
RGBQUAD* m_pRGBQuad; //指向颜色表项的指针,如为24位图,则值为NULL
BYTE* m_pDibData; //指向位数据的指针
LONG m_nWidth; //图像的宽度
LONG m_nHeight; //图像的高度
BYTE m_nBitCount; //颜色的位数,1,4,8,24
UINT m_nTotalColors; //颜色总数,对于一位位图,其值为2,以下类推
char* m_pszFileName; //文件名(含路径)
BITMAPFILEHEADER* m_pBitmapFileHeader; //指向位图文件头
BITMAPINFOHEADER* m_pBitmapInfoHeader; //指向位图信息头
BITMAPINFO* m_pBitmapInfo; //指向BITMAPINFO的指针
HGLOBAL m_hDIB; //为内存管理句柄
public:
BITMAPINFOHEADER* GetBitmapInfoHeaderPoint();
BYTE* GetDibDataPoint();
protected:
void LoadFile(const char* pszDibFileName);
private:
void Init();
};
#endif // !defined(AFX_DIB_H__432F91A6_4908_4AA0_AED2_E215A0023159__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -