`
freesoftman
  • 浏览: 315052 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

位图信息头BITMAPINFOHEADER

阅读更多

文章来自于:http://hi.baidu.com/shangxing214/blog/item/4b1fec22d2eacd4cac34de6d.html

 

正文:

 

-------------------------------------------------------------------------------------------------------------------

位图信息头BITMAPINFOHEADER,也是一个结构,其定义如下:
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;
这个结构的长度是固定的,为40个字节(LONG为32位整数),各个域的说明如下:
biSize
指定这个结构的长度,为40。
biWidth
指定图象的宽度,单位是象素。
biHeight
指定图象的高度,单位是象素。
biPlanes
必须是1,不用考虑。
biBitCount
指定表示颜色时要用到的位数,常用的值为1(黑白二色图), 4(16色图), 8(256色), 24(真彩色图)(新的.bmp格式支持32位色,这里就不做讨论了)。
biCompression
指定位图是否压缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS(都是一些Windows定义好的常量)。要说明的是,Windows位图可以采用RLE4,和RLE8的压缩格式,但用的不多。我们今后所讨论的只有第一种不压缩的情况,即biCompression为BI_RGB的情况。
biSizeImage
指定实际的位图数据占用的字节数,其实也可以从以下的公式中计算出来:
biSizeImage=biWidth’ × biHeight
要注意的是:上述公式中的biWidth’必须是4的整倍数(所以不是biWidth,而是biWidth’,表示大于或等于biWidth的,最接近4的整倍数。举个例子,如果biWidth=240,则biWidth’=240;如果biWidth=241,biWidth’=244)。
如果biCompression为BI_RGB,则该项可能为零
biXPelsPerMeter
指定目标设备的水平分辨率,单位是每米的象素个数,关于分辨率的概念。
biYPelsPerMeter
指定目标设备的垂直分辨率,单位同上。
biClrUsed
指定本图象实际用到的颜色数,如果该值为零,则用到的颜色数为2biBitCount。
biClrImportant
指定本图象中重要的颜色数,如果该值为零,则认为所有的颜色都是重要的。

分享到:
评论

相关推荐

    bmp图片信息查看软件 V1.1

    2、 第二部分为位图信息头BITMAPINFOHEADER,它也是一个结构,其定义如下: typedef struc tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD ...

    位图信息查看程序 DIB BITMAPINFOHEADER BITMAPCOREHEADER

    2.信息头 3.RGB掩码(如果有的话) 显示出来的形式如下: BITMAPFILEHEADER* = 0x02800048 BITMAPFILEHEADER .bfType = 0x4D42 .bfSize = 552158 .bfReserved1 = 0 .bfReserved2 = 0 .bfOffBits = 66 ...

    图像压缩与解压缩算法解析

    BMP文件被分成4个部分:位图文件头(Bitmap File Header)、位图信息(BitmapInfoHeader)、颜色表(Color Map)和位图数据(即图像数据,Data Bits或Data Body) 第1部分为位图文件头BITMAPFILEHEADER,是一个...

    ColorBmpTo_OneBitBmp实现1/2/4/8/16/24/32位图转换

    //指向位图信息头结构 LPBITMAPINFOHEADER lpbi; //定义文件,分配内存句柄,调色板句柄 HANDLE fh=0, hDib=0, hPal=0,hOldPal=NULL; GetObject(hBitmap, sizeof(Bitmap), (LPSTR)&Bitmap); bi.biSize = ...

    windows平台上支持BITMAPCOREHEADER、BITMAPINFOHEADER、BITMAPV4HEADER、BITMAPV5HEADER四种类型位图的类库

    该类像素点坐标序号从0开始,原点位于位图左上角,不管位图信息头的高度字段是否为负,内部都已作转化处理 暂不支持这四种位图的以下几种情况: 1、biCompression字段为BI_RLE4,BI_RLE8,BI_JPEG,BI_PNG的位图; 2、...

    读取位图长宽信息

    首先使用fseek函数跳过文件头,利用fread函数把信息头的数据读入到定义好的 BITMAPINFOHEADER结构体变量head中。再将宽度、高度等信息赋值给全局变量bmpwidth,bmpheight中。使用cout输出结果。

    bmp文件头信息读取---dos环境下

    //读取位图信息头信息 // fseek(pfile,14,SEEK_CUR); fread(&bitInfoHead;,1,sizeof(BITMAPINFOHEADER),pfile); showBmpInforHead(&bitInfoHead;); printf("\n"); } else { printf("file open fail!...

    动态规划的思想压缩位图

    有一个参数为输入位图文件名(*.bmp),它能解析8、16、24位位图文件格式,获取位图BITMAPINFOHEADER信息和每个像素的数据信息,放入内存中。 (2)对8、16、24位位图数据的写功能 有一个参数为输出位图文件名(*.bmp)...

    判知图片的大小(宽度与高度)

    //读位图文件头信息 if (file.Read((LPSTR)&bmfHeader;, sizeof(bmfHeader)) != sizeof(bmfHeader)) return ; //判断是否是BMP if (bmfHeader.bfType != ((WORD) ('M' ) | 'B')) return ; //读位图头信息 ...

    bmp文件读写

    定义位图信息头结构变量 读取位图信息头进内存 存放在变量head中 BITMAPINFOHEADER head; fread &head sizeof BITMAPINFOHEADER 1 fp ; 获取图像宽 高 每像素所占位数等信息 bmpWidth head biWidth; ...

    从BMP文件中装入位图并显示(6KB).rar_BITMAPINFOHEADER_BMP 显示_DIB bmp_LoadImag

    从BMP文件中装入位图并显示 the bmp file has four sections. the first is bitmapfileheader. this contains the bitmap file signature, the size of the bitmap and the offset to the array of bits that define...

    (VC++)API编程读bmp图片

    //定义位图信息头结构变量,读取位图信息头进内存,存放在变量head中 BITMAPINFOHEADER head; fread(&head, sizeof(BITMAPINFOHEADER),1,fp); //获取图像宽,高,每像素所占位数等信息 bmpWidth = head....

    文件路径处理bmp图像

    //位图信息头定义 typedef struct tagRGBQUAD{ BYTE rgbBlue; //该颜色的蓝色分量 BYTE rgbGreen; //该颜色的绿色分量 BYTE rgbRed; //该颜色的红色分量 BYTE rgbReserved; //保留值 }RGBQUAD;//调色板...

    数字图像处理实习报告.doc

    RAW到BMP的格式转换 将RAW格式文件读到内存,根据BMP文件格式给新文件创建四部分的内容:BITMAPFIL EHEADER(位图文件头)、BITMAPINFOHEADER(位图信息头)、Palette(调色板)、DIB Pixels(DIB图像数据),将四部分...

    位图BitMap图像的读取与存储的四个部分

    做图像处理时的源文件一般要用无损的图像文件格式,位图(BitMap)是windows系统下可存储无压缩图像的文件格式。...位图由四个部分依序组成:BITMAPFILEHEADER、BITMAPINFOHEADER、调色板、Image Data;

    CDIB类完全代码

    // 设置位图信息头指针 m_lpBmpInfoHeader = (LPBITMAPINFOHEADER)m_lpDib; // 设置位图颜色表指针 m_lpRgbQuad = (LPRGBQUAD)(m_lpDib + m_lpBmpInfoHeader->biSize); // 如果位图没有设置位图使用的颜色数...

    通过为结构体赋值的方法直接写位图

    本程序要构造的位图为24位bmp格式,通过直接为结构体BITMAPFILEHEADER和BITMAPINFOHEADER赋值的方式生成。本程序演示的功能比较片面,但也比较实用。如果面对大量的数据,特别是二维的数组,可以尝试将它们写成图像...

    俄罗斯方块 局域网 联机 录像 程序+源码

    以前先后上传过俄罗斯方块1.0版和2.0版,1.0版只支持单机,2.0版在1.0版的...真正的数据区从位图文件的图素区开始,忽略位图的文件头和信息头; 程序里附带有4个录像文件是我打的。 有问题联系:hastings1986@163.com

    bmp 16位 24位 图像变换

    MessageBox("当前打开的位图不是24位位图"); return; } memcpy(&m_newbmf,&m_bmf,sizeof(BITMAPFILEHEADER)); memcpy(&m_newbmi,&m_bmi,sizeof(BITMAPINFOHEADER)); m_newbmi.biBitCount=16; m_newbmi....

    VB生成动态的水波效果.rar

     Private Type BITMAPINFOHEADER '40 bytes  biSize As Long 'BITMAPINFOHEADER结构的大小  biPlanes As Integer '设备的为平面数,现在都是1  biBitCount As Integer '图像的颜色位图  biCompression As ...

Global site tag (gtag.js) - Google Analytics