如何用C++读取 bmp图片格式颜色矩阵 以及显示
首先 简单解释一下bmp文件格式 在 http://paulbourke.net/dataformats/bmp/ 有官方详细解释
bmp 格式文件 分为四个部分
header 文件格式,大小
infoheader 图像的高,宽,位数
optional palette 可选调色板:使用索引来表示图像是的 索引与颜色的映射 并非一定包含
image data 图像像素信息的数据
其中24位bmp文件不使用索引 所以不需要optional palette 部分
header C结构体
typedef struct {
unsigned short int type; /* Magic identifier 文件格式*/
unsigned int size; /* File size in bytes 文件大小*/
unsigned short int reserved1, reserved2; /* 保留区 默认设置为0 */
unsigned int offset; /* Offset to image data, bytes文件头到图像数据信息便宜字节 */
} HEADER;
infoheader 结构体
typedef struct {
unsigned int size; /* Header size in bytes infoheader文件部分size大小 */
int width,height; /* Width and height of image 图像宽,高 */
unsigned short int planes; /* Number of colour planes 位面数 总为1 */
unsigned short int bits; /* Bits per pixel 像素位深 */
unsigned int compression; /* Compression type 压缩类型 */
unsigned int imagesize; /* Image size in bytes 图像大小(字节) */
int xresolution,yresolution; /* Pixe