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

📄 hdib.h

📁 车牌识别及定位
💻 H
字号:
// HDib.h: interface for the CDib class.
//
//////////////////////////////////////////////////////////////////////

/////////////////////////////////////
//     CDib 1999.12.30 version     //
//           By HuYu               //
/////////////////////////////////////


#if !defined(AFX_HDIB_H__EF233C76_B7AF_11D3_9462_0000000038B2__INCLUDED_)
#define AFX_HDIB_H__EF233C76_B7AF_11D3_9462_0000000038B2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "fstream.h"
#include "stdio.h"
#define PALVERSION   0x300   //调色板版本
#define RECTWIDTH(lpRect)     ((lpRect)->right - (lpRect)->left)
#define RECTHEIGHT(lpRect)    ((lpRect)->bottom - (lpRect)->top)
#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4)
/////////////////////////////////////
//     CDib 1999.12.30 version     //
//           By HuYu               //
/////////////////////////////////////
class CDib  
{
/***********************************/
/***********************************/
/**            成员变量:         **/
/***********************************/
/***********************************/
private:
	HPALETTE m_hPal;     //调色板类Cpalette的句柄;
public:
	CString arcFileName;  //图像文档名;
	BYTE * m_Buffer;     //图像备份内存指针;
	BYTE * m_Buffer1;     //图像备份内存映象指针;
	RGBQUAD * m_Quad;    //彩色表指针;
	DWORD m_BmpLoaded;  //取值True或False;
	BITMAPFILEHEADER m_BmpFH;  //bmp文件头结构;
	BITMAPINFO * m_BmpInfo;  //bmp信息头指针;
//位图数据:
	DWORD Width;//位图宽度(像素);
	DWORD Height;//位图高度(像素);
	DWORD BPP;//位图色彩深度;
	DWORD BufferSize;//位图数据区尺寸(字节);
	DWORD Bpl;//位图每一行占据的字节数;
	DWORD NumberOfColors;//调色板中颜色数目;
    WORD BmpMarker;//位图标识;
/***********************************/
/***********************************/
/**            成员函数:         **/
/***********************************/
/***********************************/
private:
	BOOL CreatePalette();
	DWORD PaletteSize();
	void CalBmpData();
public:
	BOOL GetRedImg();
	BOOL GetGreenImg();
	BOOL GetBlueImg();
	void restoreimage();
	BITMAPINFOHEADER GetImageInfo(LPCTSTR fn, DWORD &w, DWORD &h);
	void Sort(DWORD &x0,DWORD &x1);
	BOOL Draw(HDC hDC,LPRECT rcDest,LPRECT rcSrc);
	void SetBmpMarker(DWORD b='B',DWORD m='M');
	BOOL PickBitmapToFile(LPCTSTR fn,DWORD xt,DWORD yt,DWORD xb,DWORD yb);
//根据输入的像素位置提取位图数据:
//根据像素位置获取在内存中的位置;
	BYTE * FindPos(DWORD x,DWORD y);
	void  Resize(int sz);
	BYTE * GetBuffer();//获取内存指针;
	void   Free();//释放所有内存;
	BOOL   SaveBmp(LPCTSTR fn);
	BOOL   LoadBmp(LPCTSTR fn);
	CDib();
	virtual ~CDib();

protected:
};

#endif // !defined(AFX_HDIB_H__EF233C76_B7AF_11D3_9462_0000000038B2__INCLUDED_)

⌨️ 快捷键说明

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