From: http://www.raidcn.com/js/BMPTuXiangWenJianGeShiFenXiFuDaiTuJie.html

认识BMP文件格式,以及bmp文件存储结构 ,通过winhex查看文件结构解析

一、认识BMP文件格式.

1、 BMP格式是由微软公司开发。通常BMP图像文件的后缀名是BMP,但也有少数是.DIP。不过单凭文件的后缀名并不能惟一确定是不是BMP图像文件,要惟一确定BMP图像文件还需要分析文件的存储格式。

2 、 BMP图像文件和GIF 图像文件不同,BMP图像文件只能存储一幅图像,即一帧。GIF图像文件能保存多帧图像,从而可以实现动画的效果。

3 、 BMP图像文件支持单色、16色、256色和真彩色4种颜色的图像。BMP图像的数据即可以压缩也可以不压缩,如果图像选择了压缩数据,那么根据颜色的不同,BMP使用不同的RLE压缩方式。REL 是一种无损压缩方法,使用RLE压缩的数据能完整还原。如果图像是16色,则可以采用RLE4压缩,如果图像是256色,则可以采用RLE8压缩。真彩色的图像不使用压缩。

4 、 BMP的图像数据排列有点特别,数据排列方式首先从图像的左下角第一个像素开始存储第一行数据,即BMP图像数据存储的最后一个像素等于实际图像的右上角第一个像素。

二、BMP图像文件存储结构。

BMP图像的组成 = 位图文件头 + 位图信息头 + 调色板(真彩色没有此项) + 位图数据

1、 位图文件头 包含了图像类型、图像大小、图像数据存放地址和两个保留未用的字段。

2、 位图信息头 包含了位图信息头的大小、图像的宽度高度、图像的色深、压缩说明、图像数据的大小和其他一些参数。)

3、 调色板 是单色、16色、256色图像文件所特有的,相对应的调色板大小是2、16、和256,调色板以4字节为单位,每4个字节存放一个颜色值。图像的数据是指向调色板的索引。

4、 位图数据 如果图像是单色、16色、256色,则紧跟着调色板的是位图数据,位图数据是指向调色板的索引序列号。如果位图是16位、24位、和32位,则图像文件中不保留调色板,即不存在调色板,图像的颜色直接在位图数据中给出。

三、实例存储实验

通过上面的系统学习,现在我们配合图片进一步加深印象。GO!!!!

首先我们挑选一张256色BMP格式的图片,

用winhex打开它如下图:

BMP图像文件格式分析附带图解相关推荐

  1. 【转】BMP图像文件格式

    5.1  BMP图像文件格式 BMP图像文件格式是游戏中常用的图像资源文件格式,BMP图像文件起源早,程序员对BMP都比较熟悉,再加上BMP格式简单,读取和写入非常容易实现,所以无论Windows的还 ...

  2. TGA图像文件格式分析

    什么是TGA? TGA(Targa)格式是计算机上应用最广泛的图象格式.在兼顾了BMP的图象质量的同时又兼顾了JPEG的体积优势 .并且还有自身的特点: 通道效果.方向性 .在CG领域常作为影视动画的 ...

  3. bmp图像文件格式说明

    bmp图片文件包含4个部分数据,位图文件头,位图信息头,颜色表和位图数据(即RGB值). 在看位图格式之前先看一个问题,如果每个像素都用前面的24位色去表示,那么一个像素值需要3个字节数据,24位色也 ...

  4. java dib文件 加位图文件头_位图(bmp)文件格式分析

    位图(bmp)文件格式分析 作者:深蓝(由博主分享) 一.什么是位图 计算机能以位图和矢量图格式显示图像. 1.位图(Bitmap): 图像又称点阵图或光栅图,它使用我们称为像素(象素,Pixel)的 ...

  5. 位图(bmp)文件格式分析

    from:https://blog.csdn.net/qingchuwudi/article/details/25785307 位图(bmp)文件格式分析 作者:深蓝(由博主分享) 一.什么是位图 计 ...

  6. zt BMP 文件格式分析

    看到这文章不错,于是帖了上来.呵呵 BMP文件格式分析(zz) 前两天要做一个读取bmp文件的小程序,顺便查找了一些关于BMP格式的文章,现在post上来. 简介 BMP(Bitmap-File)图形 ...

  7. .net core image怎么保存_C# 将PDF转为多种Image图像文件格式(Png/Bmp/Emf/Tiff)

    PDF是一种在我们日常工作学习中最常用到的文档格式之一,但常常也会因为文档的不易编辑的特点,在遇到需要编辑PDF文档内容或者转换文件格式的情况时让人苦恼.通常对于开发者而言,可选择通过使用组件的方式来 ...

  8. BMP(图像文件格式(Bitmap))

    BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广.它采用位映射存储格式,除了图像深度可选以外,不采用其他 ...

  9. JPG、PNG、BMP、RAW傻傻分不清楚?一文帮你解析常见的图像文件格式及其差异

    https://www.sohu.com/a/468617858_120293876 文章目录 第1部分.什么是图像文件 第2部分.JPG vs JPEG vs JPEG 2000 1.什么是JPEG ...

最新文章

  1. android timer弹出窗口,android – 如何在服务类中的Timer内显示AlertDialog?
  2. 20170523xlVBA多条件分类求和一例
  3. python多进程队列性能测试
  4. Nodejs模块、自定义模块、CommonJs的概念和使用
  5. python批量读取文件夹的图片并处理成模型输入格式
  6. FCPX插件:Hyper Zoom Transitions Mac(33种扭曲变形缩放转场效果)
  7. ajax ashx 请选择文件,ajax+jquery+ashx如何实现上传文件
  8. MySQL备份mydumper的原理【转】
  9. 路孚特:300天350个版本,旗舰移动产品“0”到“1”的交付之路
  10. vb mysql 实例_VB与数据库的交互经典例子总结
  11. 安装纯净版windows系统,win10企业版LTSC
  12. 说唱天王 Eminem 自传《The Way I am》1
  13. 虚拟环境中更新pip
  14. 解决IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter
  15. 物体识别全流程(Ubuntu16.04)结合ROS
  16. OSPF协议原理及配置4-邻接关系的建立和LSDB同步
  17. 微商城分销系统的怎么选择_有没有免费开源支持多端的_OctShop
  18. 修改Java的环境变量
  19. 江西省上饶市谷歌高清卫星地图下载
  20. 服务器状态502 503 504,服务器错误500/502/503/504详解

热门文章

  1. Keras框架:人脸检测-mtcnn思想及代码
  2. 初探Golang(2)-常量和命名规范
  3. leetcode332. 重新安排行程(dfs)
  4. html画布图片不显示_如何在HTML5画布上显示图像
  5. 易于使用的人工智能_需求分析:如何使用这种易于启动的方法+一个案例研究...
  6. 机器学习 量子_量子机器学习:神经网络学习
  7. Lesson 001 —— 数据
  8. 纯手写的css3正方体旋转效果
  9. thinkphp内置标签简单讲解
  10. 类初始化的一道面试题