位图文件解析-位图(bmp)、图标(ico)与光标(cur)

本文详细介绍了位图(BMP)、图标(ICO)和光标(CUR)的文件格式,包括它们的结构、文件头、信息头、调色板和位图数据。BMP文件的图像深度可选,图标文件支持多资源,光标文件则包含热点标志。通过对这些文件格式的解析,有助于理解Windows中图像文件的存储原理。
摘要由CSDN通过智能技术生成

一、位图(bmp)

1.位图简介

    BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。

    BMP位图文件默认的文件扩展名是.BMP,有时它也会以.DIB或.RLE作扩展名。

2.整体结构

BMP格式的文件从头到尾依次是如下信息:

  • bmp文件头(bmp file header):共14字节;
  • 位图信息头(bitmap information):共40字节;
  • 调色板(color palette):可选;
  • 位图点阵数据(bits data);

24与32位真彩色位图没有颜色表,所以只有1、2、4这三部分。

3.bmp文件头

bmp文件头结构体为BITMAPFILEHEADER,共14字节,定义如下:

typedef struct tagBITMAPFILEHEADER {
        WORD    bfType;      //文件标识,规定为0x4D42,字符显示就是'BM'
        DWORD   bfSize;      //文件大小
        WORD    bfReserved1; //保留,必须设置为0
        WORD    bfReserved2; //保留,必须设置为0
        DWORD   bfOffBits;   //从头到点阵数据的偏移
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;

4.位图信息头

位图信息头包括BITMAPINFOHEA

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值