www.pudn.com > ±ÏÒµÁôÄî²á.rar > MidDib.h


#include "DIBAPI.H" 
class CMidDib : public CObject 
{                           
	DECLARE_SERIAL(CMidDib) 
public:  
	CMidDib(); 
 
	BOOL	Create(DWORD dwWidth, DWORD dwHeight); 
	BOOL	Create(DWORD dwWidth, DWORD dwHeight, WORD wBitCount); 
	BOOL	Create(LPBYTE lpDIB); 
	BOOL	Create(LPBYTE lpDIB,	 
				   WORD  wBitCount);	 
	BOOL	Create(HBITMAP hBitmap);	 
	BOOL	Create(HBITMAP hBitmap,		 
				   WORD  wBitCount);	 
	BOOL	Create(HBITMAP hBitmap,		 
				   HPALETTE hPalette);	 
	BOOL	Create(HBITMAP hBitmap,		 
				   HPALETTE hPalette,	 
				   WORD  wBitCount);	 
	BOOL	Create(CRect rcScreen); 
	BOOL	Create(HWND hWnd, WORD fPrintArea); 
	BOOL	Create(HWND hWnd, CRect rcClientArea); 
	BOOL	Attach(HDIB hDib); 
    BOOL	Load(UINT uIDS, LPCTSTR lpszDibType); 
    BOOL	Load(LPCTSTR lpszDibRes, LPCTSTR lpszDibType); 
    BOOL	Load(LPCTSTR lpszDibFile); 
    BOOL	Save(LPCTSTR lpszDibFile); 
	BOOL	Read(CFile *pFile); 
	BOOL	Write(CFile *pFile); 
	CMidDib *  Clone(); 
	virtual ~CMidDib(); 
	void	Destroy(); 
	HDIB	Detach(); 
	virtual void Serialize(CArchive &ar); 
	BOOL	IsEmpty(); 
 
    WORD	GetBitCount(); 
    LONG	GetWidth(); 
    LONG	GetHeight();     
 
    CBitmap*  GetBitmap(); 
	CPalette* GetPalette(); 
	HANDLE	GetHandle(); 
	LPBYTE	GetBitsPtr(); 
	COLORREF GetPixel(LONG x, LONG y); 
	BOOL	ConvertFormat(WORD wBitCount);  
public: 
	HDIB		m_hDib; 
	HBITMAP		m_hBitmap;	 
	CPalette* 	m_pPalette; 
	CBitmap*	m_pBitmap; 
private: 
	CDC *		m_pMemDC; 
	CBitmap*	m_pBitmapTmp; 
	CPalette*	m_pPaletteTmp; 
};