BMP编码。水平分辨率,垂直分辨率代表什么?

2019-07-21 00:57发布

//BMP信息头
typedef __packed struct
{
    u32 biSize ;      //说明BITMAPINFOHEADER结构所需要的字数。
    long  biWidth ;      //说明图象的宽度,以象素为单位
    long  biHeight ;     //说明图象的高度,以象素为单位
    u16  biPlanes ;      //为目标设备说明位面数,其值将总是被设为1
    u16  biBitCount ;     //说明比特数/象素,其值为1、4、8、16、24、或32
    u32 biCompression ;   //说明图象数据压缩的类型。其值可以是下述值之一:
 //BI_RGB:没有压缩;
 //BI_RLE8:每个象素8比特的RLE压缩编码,压缩格式由2字节组成(重复象素计数和颜 {MOD}索引); 
    //BI_RLE4:每个象素4比特的RLE压缩编码,压缩格式由2字节组成
   //BI_BITFIELDS:每个象素的比特由指定的掩码决定。
    u32 biSizeImage ;  //说明图象的大小,以字节为单位。当用BI_RGB格式时,可设置为0 
    long  biXPelsPerMeter ; //说明水平分辨率,用象素/米表示
    long  biYPelsPerMeter ; //说明垂直分辨率,用象素/米表示
    u32 biClrUsed ;      //说明位图实际使用的彩 {MOD}表中的颜 {MOD}索引数
    u32 biClrImportant ;  //说明对图象显示有重要影响的颜 {MOD}索引的数目,如果是0,表示都重要。
}BITMAPINFOHEADER ;




在原子哥位图信息头结构体中,biXPelsPerMeter 、biYPelsPerMeter 、biClrUsed 、biClrImportant 。四个变量不用设置吗?




而且在位图信息头结构体中:
//位图信息头
typedef __packed struct
{
 BITMAPFILEHEADER bmfHeader;
 BITMAPINFOHEADER bmiHeader; 
 u32 RGB_MASK[3];   //调 {MOD}板用于存放RGB掩码.
 //RGBQUAD bmiColors[256]; 
}BITMAPINFO;

没有包含包含颜 {MOD}表。颜 {MOD}表是什么时候用的呢?
各位大神~~~~

















友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
和谐年份
1楼-- · 2019-07-21 01:07
求原子哥那个程序处理出来的320*240   RGB565的BMP图片~~~~~~~~~~~
正点原子
2楼-- · 2019-07-21 05:12
我也不太清楚,看看bmp资料吧

一周热门 更多>