bmp文件结构解析
参考博客园
虽然项目里面用的是png 但是很可惜png我没有怎么搞懂,先搞懂最容易解析的bmp数据,
个人所见bmp32位表示的是基本上是没有压缩的数据。
先用 ps 生成一个8*8黑色的数据。
bmp 格式
BM 42 4d
38 10 00 00 表示的是
0x 00 00 01 38 = 312 ==> 312字节
00 00 00 00 保留位置
36 00 00 00 字节偏移 0x 00 00 00 36 = 54 从开始到数据的开始 有54字节的偏移
28 00 00 00 位图信息段表示的数据 0x 00 00 00 28 = 40 包含 00 00 00 28 一共有着40个字节的偏移到数据
08 00 00 00 图像宽度
08 00 00 00 图像高度
01 00 平面属性 等于1
20 00 表示32位的图像
00 00 00 00 表示没有压缩
02 01 00 00 表示?? 0x 00 00 01 02
12 0B 00 00 表示水平分辨率
12 0B 00 00 表示垂直分辨率
00 00 00 00 表示的是 使用所有调色板
00 00 00 00 表示的是重要影响的颜色索引
剩下的 258 个 00 表示的是颜色的值 黑色
理论上是256个数据
外加上两个 00 00 补齐 4 字节对齐。
总体来说 bmp 文件的格式是比较简单的。容易解析和编辑。
推荐使用软件UltraEdit
像素的显示顺序是BGRA 可以参考第三幅图片



bmp文件结构解析的更多相关文章
- BMP文件结构(转)
[转自网络] BMP文件存储结构的格式可以在Windows中的WINGDI.h文件中找到定义. BMP文件总体上由4部分组成,分别是位图文件头.位图信息头.调色板和图像数据,如表5-1所示. 表5-1 ...
- MP3文件结构解析(超详细)
转自:http://blog.csdn.net/u010650845/article/details/53520426 MP3文件结构解析(超详细) 1. MP3文件结构解析 1.1. 概述 1.1. ...
- AS3.0 位图(BMP)解析类
/** * *-----------------------------* * | *** BMP格式解析类 *** | * *-----------------------------* * * 编 ...
- 图像编程学习笔记1——bmp文件结构处理与显示
文本内容转载自<数字图像处理编程入门>,代码为自己实现 1.1图和调色板的概念 如今Windows(3.x以及95,98,NT)系列已经成为绝大多数用户使用的操作系统,它比DOS成功的一个 ...
- 图像处理笔记(1): bmp文件结构处理与显示
1.1图和调色板的概念 如今Windows(3.x以及95,98,NT)系列已经成为绝大多数用户使用的操作系统,它比DOS成功的一个重要因素是它可视化的漂亮界面.那么Windows是如何显示图象的呢? ...
- FFmpeg从入门到出家(FLV文件结构解析)
FLV(FLASH VIDEO),是一种常用的文件封装格式,目前国内外大部分视频分享网站都是采用的这种格式.其标准定义为<Adobe Flash Video File Format Specif ...
- bmp格式解析
最近一直在写图像处理的作业,好多啊 bmp格式简介 a.格式组成 1:位图头文件数据结构,它包含BMP图像文件的类型.显示内容等信息: 2:位图信息数据结构,它包含有BMP图像的宽.高.压缩方法,以及 ...
- BMP文件结构
1. 位图文件头 位图文件头包含有关于文件类型.文件大小.存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义: typedef struct ta ...
- BMP文件解析
目录 BMP文件简介 BMP文件格式 位图头 位图信息 调色板 位图数据 C语言代码 获取文件大小 获取文件尺寸 获取文件偏移量 读取文件数据示例 一个问题 完整程序 BMP文件简介 BMP(全称Bi ...
- MP3格式音频文件结构解析
MP3的全称是MPEG Audio Layer3,它是一种高效的计算机音频编码方案,它以较大的压缩比将音频文件转换成较小的扩展名为.MP3的文件,基本保持原文件的音质.MP3是ISO/MPEG标准的一 ...
随机推荐
- 🎀Mybatis-Plus中的MetaObjectHandler
简介 MetaObjectHandler 是一个非常有用的组件,用于处理实体对象中的字段填充逻辑,比如自动填充创建时间.更新时间.创建人.修改人等字段. 组件介绍 MetaObjectHandler ...
- Streamlit快速入门指南
theme: orange Streamlit是一个Python库,允许您创建交互式的数据科学和机器学习Web应用程序. Streamlit介绍 Streamlit是一个Python库,允许您创建交互 ...
- 《原型设计工具深度解析:Axure到墨刀的实战指南》
原型设计工具深度解析:从Axure到墨刀的实战应用 项目背景 "Shou学"作为信息学院本科必修课指南平台,需通过高保真原型实现课程导航.知识点拆解.习题模拟等核心功能.本文结合& ...
- 【经验】Ubuntu20.04虚拟机的网络问题|在NAT模式没有网络连接图标,桥接模式正常
我的版本:Ubuntu20.04.04,iso是清华镜像站的release版本. 问题:NAT模式没有网络连接图标,或者图标闪一下就消失不见,并且无法获取IP地址:但是桥接模式的网络服务却是正常的. ...
- 时间工具之“Java8 LocalDate 根据给定的日期,获取该日期上一周的周一周日,以及TemporalAdjusters的API”
一.场景 我们的周报需要获取该月的第一个周的星期一和星期日,用于计算该星期的功能业绩(如:上产品数量) 2022-04-25 00:00:00 到 2022-05-01 23:59:592022-05 ...
- SQL 月同环比 日期 T+1 自动计算
对于离线数据的分析, 数据通常是 T+1 的, 即所有数据更新都是到 "昨天". 对于这样的同环比能自动计算是很需要的. -- 以Mysql为例: -- 今天: 2022/3/1 ...
- C语言与汇编
C变量 C 语言是如何把各种类型的变量转换成对应的汇编语言呢? 高级语言更容易被工程师理解,而汇编语言这样的低级语言,则更容易被机器解读.这是因为汇编语言里的大部分内容都跟机器语言一一对应,你可以这样 ...
- 利用 SSE 实现流式 AI 聊天交互(三)
在 AI 赋能的时代,即时交互式对话体验成为众多应用的核心功能之一.本文将介绍如何使用 流式 SSE (Server-Sent Events) 技术,实现高效的 AI 聊天交互,提供更加丝滑的用户体验 ...
- K8S对Pod调度失败,Schdule控制器报错1 scheduling_queue.go:346] Unable to find backoff value for pod default/engine-video-process-worker-face-face-24902-t4-6b5bcf6d9c-swdwp in backoffQ
问题描述: 1.生产环境,基于K8s部署的应用,某个应用按要求需要运行9个副本,项目成功运行50余天后,应用的pod突然由9个变为6个,其他3个变为Pengding状态: 2.9个Pod需要消耗服务器 ...
- GHCTF 2025 web 萌新初探wp
ctf萌新第一次写wp,如有错误请师傅们指出 [GHCTF 2025]SQL??? 打开靶机是一个用户查询的页面,结合题目名称猜测是sql注入,但是常规方法都试过了没办法注入,当时也是很懵逼,后来一个 ...