www.pudn.com > 人体步态跟踪识别bate版.rar > DIBAPI.H


// dibapi.h 
// 
//程序的头文件,里面包含了所有的函数  
// 和相应的对象 
 
#ifndef _INC_DIBAPI 
#define _INC_DIBAPI 
 
/* 一个DIB 句柄*/ 
DECLARE_HANDLE(HDIB); 
 
/* DIB 版本号 */ 
#define PALVERSION   0x300 
 
/* Dib 头标记 - 用来将DIBs写入文件*/ 
#define DIB_HEADER_MARKER   ((WORD) ('M' << 8) | 'B') 
 
/* DIB 宏*/ 
 
#define IS_WIN30_DIB(lpbi)  ((*(LPDWORD)(lpbi)) == sizeof(BITMAPINFOHEADER)) 
#define RECTWIDTH(lpRect)     ((lpRect)->right - (lpRect)->left) 
#define RECTHEIGHT(lpRect)    ((lpRect)->bottom - (lpRect)->top) 
 
 
//由于DIB的每行都被填充到一个四字节边界,因此需要经常计算每行所实际占用的位数。 
//定义宏WIDTHBYTES将一个数与四字节对齐,便于计算DIB行的存储长度。 
 
#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4) 
 
/* 使用的函数原型 */ 
BOOL        PaintDIB (HDC, LPRECT, HDIB, LPRECT, CPalette* pPal); 
BOOL        CreateDIBPalette(HDIB hDIB, CPalette* cPal); 
LPSTR       FindDIBBits (LPSTR lpbi); 
DWORD       DIBWidth (LPSTR lpDIB); 
DWORD       DIBHeight (LPSTR lpDIB); 
WORD        PaletteSize (LPSTR lpbi); 
WORD        DIBNumColors (LPSTR lpbi); 
HGLOBAL     CopyHandle (HGLOBAL h); 
 
BOOL        SaveDIB (HDIB hDib, CFile& file); 
HDIB        ReadDIBFile(CFile& file); 
HDIB        LoadDIB(CFile& file); 
double DoubleModule(double num1,double num2); 
 
void         FindHumanWindows(HDIB hDIB,CPoint p1,CPoint p2); 
 
 
 
#endif //!_INC_DIBAPI