位图格式详解

原创 2007年09月18日 12:31:00

位图是最常用的windows图形格式,通过windows API函数可以直接读取并绘制,不过,有时我们还是需要自己控制,那么,就让我们看看他的格式吧!

位图文件结构表
位图文件 位图文件头 14 字节
位图信息头 40 字节
彩色表(调色板) 4N 字节
位图数据 x  字节
 

构件详解:

  1. 位图文件头  

    位图文件头包含文件类型、文件大小、存放位置等信息。结构定义如下:

      typedef struct tagBITMAPFILEHEADER
      {
      	UNIT	bfType;
      	DWORD	bfSize;
      	UINT	bfReserved1;
      	UINT	bfReserved2;
      	DWORD	bfOffBits;
      }BITMAPFILEHEADER;
      
    其中:
    bfType    说明文件类型,在windows系统中为BM。
    bfSize    说明文件大小。
    bfReserved1 bfReserved2 保留,设置为0。
    bfOffBits 说明实际图形数据的偏移量。

     

  2. 位图信息头

    位图信息头包含位图的大小、压缩类型、和颜色格式,结构定义如下:

     

      typedef struct tagBITMAPINFOHEADER
      {
      	DWORD	biSize;
      	LONG	biWidth;
      	LONG	biHeight;
      	WORD	biPlanes;
      	WORD	biBitCount;
      	DWORD	biCompression;
      	DWORD	biSizeImage;
      	LONG	biXPelsPerMerer;
      	LONG	biYPelsPerMerer;
      	DWORD	biClrUsed;
      	DWORD	biClrImportant;
      }BITMAPINFOHEADER;
      	
    其中: 
    biSize    说明BITMAPINFOHEADER结构所需字节数,在windows系统中为28h
    biWidth   说明图像宽度
    biHeight  说明图像高度
    biPlanes  为目标设备说明位面数,其值设为1
    biBitCount每个像素的位数,单色位图为1,256色为8,24bit为24。
    biCompression压缩说明,BI_RGB:无压缩,BI_RLE8:8位RLE压缩,BI_RLE4:4位RLE压缩
    biSizeImage说明图像大小,如无压缩,可设为0
    biXPelsPerMeter水平分辨率
    biYPelsPerMeter垂直分辨率
    biClrUsed 位图使用的颜色数
    biImportant重要颜色数目

     

  3. 彩色表

    彩色表包含的元素与位图所具有的颜色数目相同,像素颜色用结构RGBQUAD来表示:

    typedef struct tagRGBQUAD
    {
    	BYTE	rgbBlue;
    	BYTE	rgbGreen;
    	BYTE	rgbRed;
    	BYTE	rgbReserved;
    }RGBQUAD;
    
    其中:
    rgbBlue    指定蓝色强度
    rgbGreen   指定绿色强度
    rgbRed     指定红色强度
    rgbReserved保留,设为0

     

  4. 位图数据

    紧跟在彩色表后的是图像数据震裂,图像每一扫描行有连续的字节组成,扫描行由底向上存储,阵列中第一字节为左下角像素,最后一字节为右上角像素。

 
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

嵌入式中如何统一多幅位图的调色板并生成C格式数据详解

在嵌入式开发当中,我们经常会需要显示公司logo,或者操作界面的图标,也自然会用到图像转换工具,比如uC-GUI-BitmapConvert, 下载地址连接页面 ,我们可以用它进行输入一幅位图,然后输...

BMP位图格式详解<二>--转载

转自:http://www.cnblogs.com/xiehy/archive/2011/06/07/2074405.html BMP文件格式,又称为Bitmap(位图)或是DIB(Device...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

BMP位图格式详解(BMP file format)

BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)