WEB开发网
开发学院软件开发VC 利用VC++开发ASP图像处理组件 阅读

利用VC++开发ASP图像处理组件

 2006-07-23 11:33:38 来源:WEB开发网   
核心提示: 1、位图文件头位图文件头主要用于识别位图文件,以下是位图文件头结构的定义:typedef struct tagBITMAPFILEHEADER {WORD bfType;DWORD bfSize;WORD bfReserved1;WORD bfReserved2;DWORD bfOffBi

1、位图文件头

位图文件头主要用于识别位图文件。以下是位图文件头结构的定义:

typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;

其中的bfType值应该是“BM”(0x4d42),标志该文件是位图文件。bfSize的值是位图文件的大小。bfReserved1, bfReserved2 为保留字,值为0。bfOffBits为位图文件大小与DIB(设备无关的位图 Device-indepentent bitmap)位图数据的大小之差。如:

BITMAPFILEHEADER bmfHdr;
bmfHdr.bfType = 0x4D42; // "BM"
dwDIBSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + dwPaletteSize + dwBmBitsSize;
bmfHdr.bfSize = dwDIBSize;
bmfHdr.bfReserved1 = 0;
bmfHdr.bfReserved2 = 0;
bmfHdr.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER) + (DWORD)sizeof(BITMAPINFOHEADER) + dwPaletteSize;

2、位图信息

位图信息中所记录的值用于分配内存,设置调色板信息,读取像素值等。以下是位图信息结构的定义:

typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;

可见位图信息也是由两部分组成的:位图信息头 + 颜色表

2.1、位图信息头

位图信息头包含了单个像素所用字节数以及描述颜色的格式,此外还包括位图的宽度、高度、目标设备的位平面数、图像的压缩格式。以下是位图信息头结构的定义:

typedef struct tagBITMAPINFOHEADER{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;

biSize 结构BITMAPINFOHEADER的字节数,即sizeof(BITMAPINFOHEADER)

上一页  1 2 3 4 5 6 7  下一页

Tags:利用 VC 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接