www.pudn.com > src.rar > bmp.h~


#ifndef _BITMAP_H_LXH 
#define _BITMAP_H_LXH 
 
#include  
#include  
#include  
#include  
/* 
#include  
#include  
#include  
#include  
#include  
#include  
*/ 
#define nMaxRow			1024 
#define nMaxCol			768 
#define WIDTHBYTES(bits)	((DWORD)(((bits)+31) & (~31)) / 8) 
#define HEADEROFFSET		54 
 
#ifndef _DATA_FLAG_ 
#define _DATA_FLAG_ 
 
typedef unsigned long		DWORD; 
typedef int			bool; 
typedef unsigned char		BYTE; 
typedef unsigned short		WORD; 
typedef long 			LONG; 
 
#endif 
 
typedef struct tagBITMAPFILEHEADER { 
	WORD    bfType; 
	DWORD   bfSize; 
	WORD    bfReserved1; 
	WORD    bfReserved2; 
	DWORD   bfOffBits; 
} BITMAPFILEHEADER; 
 
typedef struct tagBITMAPINFOHEADER { 
	DWORD      biSize; 
	DWORD      biWidth; 
	DWORD      biHeight; 
	WORD       biPlanes; 
	WORD       biBitCount; 
	DWORD      biCompression; 
	DWORD      biSizeImage; 
	DWORD      biXPelsPerMeter; 
	DWORD      biYPelsPerMeter; 
	DWORD      biClrUsed; 
	DWORD      biClrImportant; 
} BITMAPINFOHEADER; 
 
typedef struct tagRGBQUAD { 
	BYTE    rgbBlue; 
	BYTE    rgbGreen; 
	BYTE    rgbRed; 
	BYTE    rgbReserved; 
} RGBQUAD; 
 
typedef struct tagBMPHeader { 
	BITMAPFILEHEADER	BFH; 
	BITMAPINFOHEADER	BIH; 
} BMPHEADER; 
 
/*****  matrix.h  *****/ 
 
#ifndef _MATRIX_H_LXH 
#define _MATRIX_H_LXH 
 
typedef struct tagMATRIX { 
	BYTE ** data; 
	int rows; 
	int cols; 
}DATA_MATRIX; 
 
typedef struct tagRGB { 
	DATA_MATRIX * red; 
	DATA_MATRIX * green; 
	DATA_MATRIX * blue; 
}RGB; 
 
#endif 
 
/*****  END of  matrix.h  *****/ 
 
 
/***** º¯ÊýÔ­ÐÍ *****/ 
 
int fputWord(FILE *fp,int n); 
int fputLong(FILE *fp,long n); 
void printRGBQUAD(RGBQUAD * x); 
BMPHEADER * getBmpHeader(const char * BmpFileName);  
RGBQUAD * getBmpPalette(const char * BmpFileName, BMPHEADER * header); 
int BmpHeaderView(BMPHEADER *header); 
DATA_MATRIX * dataview_bmp8(const char * filename, BMPHEADER * header); 
int writeBMP8(const BMPHEADER * header, const DATA_MATRIX * Data, const char * filename); 
void ImrectToBMP8(Imrect* im , const char* filename); 
RGB * getRGB_bmp24(const char * filename, BMPHEADER * header); 
void RGB_print(const RGB * rgb); 
int writeBMP24(const  BMPHEADER * header,const RGB *rgb_matrix,const char * filename); 
 
DATA_MATRIX * DATA_MATRIX_new(int rows, int cols); 
void DATA_MATRIX_free(DATA_MATRIX * mat); 
void DATA_MATRIX_print(DATA_MATRIX * mat); 
void DATA_MATRIX_assign(DATA_MATRIX * mat, int value); 
 
#endif 
 
/****** END of bmp.h *****/