BMP(Bitmap)是一种位图文件格式,它以二进制方式存储图像数据,即每个像素的颜色信息都被直接编码为一个二进制值。
BMP格式的文件由两部分组成:
- 文件头和图像数据。文件头包含了文件类型、文件大小、图像宽度、图像高度等基本信息;
- 图像数据则是按行存储的,每一行的字节数通常等于“宽度×像素位数/8”,其中像素位数指的是每个像素使用的位数
例如24位颜色模式下,每个像素使用3个字节。
在32位BMP图像中,每个像素通常使用4个字节(红色、绿色、蓝色和alpha通道),因此每一行的字节数也会相应增加
BMP格式文件头(Bitmap File Header)占据14个字节,其中包含了BMP文件的一些基本信息,如文件类型、文件大小以及图像数据的偏移量等。
文件头结构定义如下:
1 | struct BITMAPFILEHEADER { |
下面是使用C++的标准库来获取bmp图像的宽和高
1 |
|