www.pudn.com > final_6.rar > Dib.h
// Dib.h: interface for the CDib class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DIB_H__7D53D33C_BD36_4CD2_867E_0061CB8DADF8__INCLUDED_)
#define AFX_DIB_H__7D53D33C_BD36_4CD2_867E_0061CB8DADF8__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "dibapi.h"
class CDib
{
public:
CDib();
virtual ~CDib();
void DeleteDIB();
BOOL Load(LPCTSTR lpszFileName);
BOOL LoadFromResource(UINT nID);
int Width();
int Height();
BOOL Draw(CDC *pDC, int x, int y, int cx, int cy);
DWORD GetDibWidthBytes(int nWidth, BYTE byBitCount);
DWORD GetDdbData32(LPBYTE lpbyDdb32);
UINT GetColorNumber() const;
protected:
long m_nWidth; // 宽度
long m_nHeight; // 高度
BYTE m_nBitCount; // 每个像素占有的位数
UINT m_nTotalColors; // 颜色总数
BITMAPINFOHEADER* m_pBitmapInfoHeader;
BYTE* m_pDibData; // 位图像素数据
RGBQUAD* m_pRGBQuad; // RGBQUAD表项
HDIB m_hDIB;
CPalette* m_palDIB;
};
#endif // !defined(AFX_DIB_H__7D53D33C_BD36_4CD2_867E_0061CB8DADF8__INCLUDED_)