问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于BMP文件头数据解读的疑问

发布网友 发布时间:2022-05-06 16:25

我来回答

1个回答

热心网友 时间:2023-10-11 20:53

这是位图文件头结构体:
typedef struct bmp_header
{
unsigned short bfType; //文件的类型,该值必需是0x4D42,也就是字符'BM'
unsigned int bfSize; //说明文件的大小,用字节为单位
unsigned short bfReserved1; //保留,必须设置为0
unsigned short bfReserved2; //保留,必须设置为0
unsigned int bfOffBits; //说明从文件头开始到实际的图象数据之间的字节的偏移量
}BMPHEADER;
由于存放文件大小的变量bfSize为int型,即4个字节(32位和64位机器都是),然后你列出来的文件数据是从低地址到高地址的,而数据的存储当然是高位的存在高地址,低位的存在低地址,即4690 0000应该倒过来读,为0000 9046,也就是36934字节。

至于你说的后面的“H”,我不晓得你说的是哪里的“H”。追问那为什么0x4D42就没倒过来呢?

赋值的时候还是:

BMPHEADER head;
head.bftype=0x4D42; 呢?

追答怎么会没倒过来呢?你再仔细看看!赋值的时候是0x4D42(4D是高字节,42是低字节),而你读出来的是424D(42是低地址,4D是高地址),低地址存储低字节,高地址存储高字节。

热心网友 时间:2023-10-11 20:53

这是位图文件头结构体:
typedef struct bmp_header
{
unsigned short bfType; //文件的类型,该值必需是0x4D42,也就是字符'BM'
unsigned int bfSize; //说明文件的大小,用字节为单位
unsigned short bfReserved1; //保留,必须设置为0
unsigned short bfReserved2; //保留,必须设置为0
unsigned int bfOffBits; //说明从文件头开始到实际的图象数据之间的字节的偏移量
}BMPHEADER;
由于存放文件大小的变量bfSize为int型,即4个字节(32位和64位机器都是),然后你列出来的文件数据是从低地址到高地址的,而数据的存储当然是高位的存在高地址,低位的存在低地址,即4690 0000应该倒过来读,为0000 9046,也就是36934字节。

至于你说的后面的“H”,我不晓得你说的是哪里的“H”。追问那为什么0x4D42就没倒过来呢?

赋值的时候还是:

BMPHEADER head;
head.bftype=0x4D42; 呢?

追答怎么会没倒过来呢?你再仔细看看!赋值的时候是0x4D42(4D是高字节,42是低字节),而你读出来的是424D(42是低地址,4D是高地址),低地址存储低字节,高地址存储高字节。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 复方龙胆碳酸氢钠片的药物相互作用 韦丹阳的名字意义? 用vc如何获取bmp图片的文件头信息头 反酸,烧心吃什么药好 廖丹阳名字含义? 加密的文件解密不了,提示头部信息不正确 龙胆泻肝碳酸氢钠片 丹阳名字的来源是啥? 怀孕40天左右吃的一盒三金片,2粒斯达舒 复方龙胆碳酸氢钠片, 丹阳是什么意思 龙胆苏打片是不是龙胆碳酸氢钠 丹阳的含义 龙胆碳酸氢钠片的药物相互作用 名字叫丹阳有什么寓意? 复方龙胆碳酸氢钠片是酵母片吗 复方龙胆碳酸氢钠片的药理毒理 龙胆碳酸氢钠片的副作用有哪些? 复方龙胆碳酸氢钠片适合哪些人用啊? 龙胆碳酸氢钠片可以用来洗*吗?安全吗?有付作用吗?求大神帮助 慢性胃溃疡吃龙胆碳酸氢钠片可以吗 女孩取名丹阳好吗 VC 实现 输出 Bmp 图像中所有像素点的灰度值到文本 服用乳酸菌素片后再服用龙胆碳酸氢钠片可以吗? 以丹阳为名字 目的是模拟将一个bin文件得内容,放入到一个存储结构中,并在这个二进制文件前面加上一个信息头。 吕丹阳的名字意思。 我叫*阳,他叫常亚辉,谁可以用我们的名字设计个情侣网名? 谢谢 BMP的对应数据结构 女孩取名张丹阳好吗 男孩起名叫丹阳怎么样? 丹阳有什么民间传说? 江苏丹阳在古时候叫什么呢? 佛晓丹阳是什么意思 江苏丹阳在古时候又叫过什么名字? 德亿抽油烟机算不算牌子 德亿天然气灶是一线品牌吗? 德亿如何调时间 能快速瘦腿的方法是什么 微信怎么转发别人图和文字一起发出来的东西? 德亿指纹锁怎么进入管理模式