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 *****/