`
freesoftman
  • 浏览: 319884 次
  • 性别: 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
指定本图象中重要的颜色数,如果该值为零,则认为所有的颜色都是重要的。

分享到:
评论

相关推荐

    C#生成单色位图的方法.zip_C# 单色位图_C# 单色位图_C# 图片转单色_c#单色位图

    3. **添加信息头**:为了使位图符合标准格式,我们需要为其添加位图信息头(BitmapInfoHeader)。这可以通过创建BitmapData对象并设置其结构来完成。信息头包括位图的宽度、高度、色彩位深等信息。具体实现如下: ``...

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

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

    BMP位图的读取和显示

    2. 位图信息头 BITMAPINFOHEADER 3. 调色板 4. 图像的实际数据 BITMAPFILEHEADER BITMAPFILEHEADER 结构体用于存储文件头信息,包括文件类型、文件大小、保留字节、保留字节、从文件头到实际位图数据的偏移字节数。...

    在mfc中进行DIB位图编程

    - **位图信息头BITMAPINFOHEADER**:这个结构体提供了关于位图的详细信息,如宽度、高度、位深度、压缩方式等。 - **调色板Palette**:对于非真彩色的位图,调色板包含了所有颜色的RGB值,用于映射位图中的颜色...

    BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。

    BMP文件的结构由四个关键部分组成:文件头、位图信息头、颜色信息和图形数据。 1. **文件头**:文件头是BMP文件的起点,包含了文件的基本属性信息。它由BITMAPFILEHEADER结构体定义,包含以下字段: - `bfType`:...

    出必精品:图像处理-Windows位图和调色板.doc

    位图信息头BITMAPINFOHEADER,提供更详细的图像描述,如宽度、高度、颜色深度等;调色板(如果图像不是真彩色),存储颜色索引与RGB值的对应关系;最后是实际的像素数据,按照从下到上,从右到左的顺序排列。 了解...

    BMP 图片的格式详解

    BMP图片文件主要分为三个部分:文件信息头BITMAPFILEHEADER、位图信息头BITMAPINFOHEADER和RGB颜色阵列。 文件信息头BITMAPFILEHEADER结构体定义如下: ```c typedef struct tagBITMAPFILEHEADER { UINT bfType; ...

    用C++编程实现BMP文件格式的读取

    2. **位图信息头(BITMAPINFOHEADER)**:这部分包含了图像的宽度、高度、色彩深度等信息,长度固定为40字节。 3. **颜色表**:对于调色板模式下的图像,这里会存放一个颜色表,每个颜色占用4字节。 4. **像素数据**...

    BMP图像解析 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成

    BMP图像文件由四部分组成:文件头、位图信息头、颜色信息和图形数据。 文件头 文件头数据结构中包含了BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下: typedef struct tagBITMAPFILEHEADER{ WORD...

    位图信息查看程序 DIB BITMAPINFOHEADER BITMAPCOREHEADER

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

    BMP格式图片的生成

    在这个例子中,`bmpStruct.h`应该包含了`BITMAPFILEHEADER`和`BITMAPINFOHEADER`的定义,这两个结构体分别对应BMP文件的文件头和位图信息头。`writeBMP`函数接收图像的尺寸和数据,然后按照BMP格式的规范写入文件。...

    写bmp文件实现函数

    1. 写文件头:根据图像宽度、高度和色彩深度计算文件头中的信息,包括位图信息头BITMAPINFOHEADER的大小、图像宽度、图像高度、色彩平面数量(通常是1)和位深度(如24位表示RGB每个通道8位)等,并将这些信息写入...

    C++ 图像处理概况

    2. **位图信息头BITMAPINFOHEADER**:紧接着文件头,是一个40字节的结构体,提供了图像的宽度、高度、色彩深度、压缩方式等详细信息。 3. **调色板Palette**:如果图像使用了调色板,这部分会存储颜色表,每个颜色...

    图形技术

    其次是位图信息头BITMAPINFOHEADER,存储了图像的宽度、高度、色彩深度等关键属性;接下来是调色板Palette,主要用于非真彩色图像,用于记录颜色信息;最后是实际的位图数据ImageData,包含了像素的RGB值或调色板中...

    MFC中窗体界面保存成jpg,tif,tiff,emf,等各种文件

    // 设置位图信息头 BITMAPINFOHEADER bih; bih.biBitCount = btm.bmBitsPixel; bih.biClrImportant = 0; bih.biClrUsed = 0; bih.biCompression = 0; bih.biHeight = btm.bmHeight; bih.biPlanes = 1; bih....

    BMP格式资料

    - 接着是40字节的Windows位图信息头BITMAPINFOHEADER,包含图像的宽度、高度、色彩深度、压缩类型等信息。 2. **图像数据**: - BMP文件的图像数据是按行优先的方式存储的,从图像的最底部行开始,逐行向上存储,...

    C++ MFC中一段屏幕截屏的函数

    // 创建文件头和位图信息头 BITMAPINFOHEADER bih = {0}; bih.biBitCount = bmp.bmBitsPixel; bih.biCompression = BI_RGB; bih.biHeight = bmp.bmHeight; bih.biPlanes = 1; bih.biSize = sizeof...

    图片格式解析jpeg bmp png gif

    2. **位图信息头 BITMAPINFOHEADER** - 长度为40字节 - 内容: - biSize:文件信息头结构大小 - biWidth:图像宽度(像素) - biHeight:图像高度(像素) - biPlanes:总被置1 - biBitCount:比特/像素(1、...

    24位BMP位图信息隐藏和读取(c语言实现)

    同时,由于BMP文件格式固定,我们需要对文件结构有深入理解,包括位图信息头(BITMAPINFOHEADER)、位图文件头(BITMAPFILEHEADER)等。 在实际编程中,还需要注意错误处理,确保在文件操作过程中出现异常时能够...

    数字图像处理实验一MFC显示位图信息

    这些信息可以通过位图信息头结构体BITMAPINFOHEADER来获取。 在MFC中,我们通常使用CView或CScrollView作为视图类来显示图像。通过重写OnDraw函数,我们可以使用CDC类(Device Context)提供的绘图函数,如Draw...

Global site tag (gtag.js) - Google Analytics