参考博客园

虽然项目里面用的是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文件结构解析的更多相关文章

  1. BMP文件结构(转)

    [转自网络] BMP文件存储结构的格式可以在Windows中的WINGDI.h文件中找到定义. BMP文件总体上由4部分组成,分别是位图文件头.位图信息头.调色板和图像数据,如表5-1所示. 表5-1 ...

  2. MP3文件结构解析(超详细)

    转自:http://blog.csdn.net/u010650845/article/details/53520426 MP3文件结构解析(超详细) 1. MP3文件结构解析 1.1. 概述 1.1. ...

  3. AS3.0 位图(BMP)解析类

    /** * *-----------------------------* * | *** BMP格式解析类 *** | * *-----------------------------* * * 编 ...

  4. 图像编程学习笔记1——bmp文件结构处理与显示

    文本内容转载自<数字图像处理编程入门>,代码为自己实现 1.1图和调色板的概念 如今Windows(3.x以及95,98,NT)系列已经成为绝大多数用户使用的操作系统,它比DOS成功的一个 ...

  5. 图像处理笔记(1): bmp文件结构处理与显示

    1.1图和调色板的概念 如今Windows(3.x以及95,98,NT)系列已经成为绝大多数用户使用的操作系统,它比DOS成功的一个重要因素是它可视化的漂亮界面.那么Windows是如何显示图象的呢? ...

  6. FFmpeg从入门到出家(FLV文件结构解析)

    FLV(FLASH VIDEO),是一种常用的文件封装格式,目前国内外大部分视频分享网站都是采用的这种格式.其标准定义为<Adobe Flash Video File Format Specif ...

  7. bmp格式解析

    最近一直在写图像处理的作业,好多啊 bmp格式简介 a.格式组成 1:位图头文件数据结构,它包含BMP图像文件的类型.显示内容等信息: 2:位图信息数据结构,它包含有BMP图像的宽.高.压缩方法,以及 ...

  8. BMP文件结构

    1. 位图文件头 位图文件头包含有关于文件类型.文件大小.存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义: typedef struct ta ...

  9. BMP文件解析

    目录 BMP文件简介 BMP文件格式 位图头 位图信息 调色板 位图数据 C语言代码 获取文件大小 获取文件尺寸 获取文件偏移量 读取文件数据示例 一个问题 完整程序 BMP文件简介 BMP(全称Bi ...

  10. MP3格式音频文件结构解析

    MP3的全称是MPEG Audio Layer3,它是一种高效的计算机音频编码方案,它以较大的压缩比将音频文件转换成较小的扩展名为.MP3的文件,基本保持原文件的音质.MP3是ISO/MPEG标准的一 ...

随机推荐

  1. 太喜欢啦,浏览器中的SQL神器:WhatTheDuck让CSV分析像聊天一样简单!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 基于DuckDB的轻量级Web应用 | 完全浏览器端运行 | 零数据泄露风险 | 支持复杂S ...

  2. SpringBoot项目创建的三种方式

    目录 1 通过官网创建 2 通过IDEA脚手架创建 2.1 IDEA新建项目 2.2 起Group名字,选择Java版本,点击Next 2.3 选择Web依赖,选择Spring Web,确认Sprin ...

  3. k8s之数据存储

    查看k8s支持的存储类 kubectl explain pods.spec.volumes 1.emptydir kubectl explain pods.spec.volumes.emptyDir ...

  4. 仓颉开发语言入门教程:常见UI组件介绍和一些问题踩坑

    幽蓝君发现一个问题,仓颉开发语言距离发布马上一年了,一些知名App已经使用仓颉开发了许多功能,但是网络上关于仓颉开发语言的教程少之又少,系统性的教程更是没有,仓颉官网的文档也远远不如ArkTS详尽. ...

  5. SQL注入常用爆库语句

    SQL注入的时候,找到了注入点,但是老是搞不清怎么爆库,最后还是得看大佬的WP 最后,终于下定决心自己整理一下爆库的常用语句和思路,如果哪里写的不对麻烦在评论区指出:-D 省流概要 select gr ...

  6. 微软开源bitnet b1.58大模型,应用效果测评(问答、知识、数学、逻辑、分析)

    微软开源bitnet b1.58大模型,应用效果测评(问答.知识.数学.逻辑.分析) 目       录 1.     前言... 2 2.     应用部署... 2 3.     应用效果... ...

  7. redis客户端选型-Jedis、lettuce、Redisson

    做个笔记,老是记不住 https://www.jianshu.com/p/ee30c184c854

  8. 【洛谷有题】NOI 笔试题库(非初赛)订正

    传送门 第一次做,那个成绩可是一个惨不忍睹-- 我还是想说--我虽然要用Linux,但是不一定要用到指令啊(吧)--编译啥的我可以用Vim|guide啊-- Linux 中为文件改名使用的命令是: m ...

  9. 「Note」模板速查

    代码 #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigned long l ...

  10. .NET周刊【5月第4期 2025-05-25】

    国内文章 .NET 的全新低延时高吞吐自适应 GC - Satori GC https://www.cnblogs.com/hez2010/p/18889954/the-new-satori-gc-f ...