⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dib.h

📁 visual c++数字图像与图形处理中的光盘内容
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////////
//
//		Dib.h: interface for the CDib class.
//
////////////////////////////////////////////////////////////////////////////////
// 版权所有(2002)
// Copyright(2002)
// 编写者: 向世明
// Author: Xiang Shiming


#ifndef _CDIB_H
#define _CDIB_H

class CDib : public CObject
{
	DECLARE_DYNAMIC(CDib)
protected:

	BOOL m_bValid;			//是否有效
    RGBQUAD* m_pRGBQuad;	//RGBQUAD 表项
    BYTE* m_pDibData;		//位图像素数据
	LONG m_nWidth;			//宽度
	LONG m_nHeight;			//高度
	BYTE m_nBitCount;		//每个像素占有的位数
    UINT m_nTotalColors;	//颜色总数
	char* m_pszFileName;
    BITMAPFILEHEADER* m_pBitmapFileHeader;
    BITMAPINFOHEADER* m_pBitmapInfoHeader;
    BITMAPINFO* m_pBitmapInfo;
	HGLOBAL m_hDIB;
	
    
public:

	CDib();
    CDib(const char* pszDibFileName);
    ~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);


	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;

public:
	void ClearMemory();
	HPALETTE CreateBitmapPalette();

#ifdef _DEBUG
	virtual void Dump(CDumpContext& dc) const;
	virtual void AssertValid() const;
#endif

protected:
	
    
	void LoadFile(const char* pszDibFileName);
private:
	void Init();
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -