凉茶微凉 2009-03-26
这个是我将原来的用C语言写的数字图像处理改写在可以通过G++编译了。原来的程序是通过的VC++6的编译,但是没有通过GCC的编译,这次经过更改之后,已经完整的通过了VC6和GCC的编译,因此,可以用在Windows下和Linux下。我的Linux的C C++的编程环境是Code Blocks,很不错的。下面是更改之后的源程序,全部的源程序哦。随后,我会增加一些图像处理的算法上去的。现在,只是简单的读图和保存图。
BMP.h的全部源程序:
#ifndef BMP_H_INCLUDED
#define BMP_H_INCLUDED
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef long LONG;
typedef unsigned char BYTE;
typedef struct tagBITMAPFILEHEADER
{ // bmfh
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
}BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER
{ // bmih
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
}BITMAPINFOHEADER;
typedef struct tagRGBQUAD
{ // rgbq
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
}RGBQUAD;
typedef struct tagBITMAPINFO
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
}BITMAPINFO;
#endif // BMP_H_INCLUDED