bmp 图片结构

位图格式(bmp)是显示图片的基本格式,其文件扩展名为*.BMP。

在Windows下,任何各式的图片文件(包括视频播放)都要转化为位图才能显示出来,其他各种格式的图片文件是在位图格式的基础上采用不同的压缩算法生成的。所以,理解bmp格式的结构是图像视频处理的基础。

一、位图文件(*.BMP)的格式。

位图文件主要分为如下3个部分:

块名称          对应Windows结构体定义       大小(Byte)

文件信息头         BITMAPFILEHEADER             14

位图信息头         BITMAPINFOHEADER             40

RGB颜色阵列           BYTE*                由图像长宽尺寸决定

BMP文件头、信息头、颜色表、图形数据四个部分组成;对于24位、32位则没有颜色表字段,低位图则存在色彩索引表。

1、BITMAPFILEHEADER

结构体定义如下:

typedef struct tagBITMAPFILEHEADER {

UINT bfType;

DWORD bfSize;

UINT bfReserved1;

UINT bfReserved2;

DWORD bfOffBits;

} BITMAPFILEHEADER;

其中:

bfType         说明文件的类型,该值必需是0x4D42,也就是字符'BM'。

bfSize         说明该位图文件的大小,用字节为单位

bfReserved1    保留,必须设置为0

bfReserved2    保留,必须设置为0

bfOffBits      从FILEHEADER开始到图象数据之间的字节的偏移量。INFOHEADER和调色板的长度会变化,可以用这个值迅速的从文                件中读取到位数据。

Bmp 解析 (2013-09-09 19:30:41)的更多相关文章

  1. c#用正则表达式判断字符串是否全是数字、小数点、正负号组成 Regex reg = new Regex(@"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$");

    Regex reg = new Regex(@"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][ ...

  2. [转]如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误

    本文转自:http://www.cnblogs.com/yyangblog/archive/2011/01/07/1929657.html 问题概述: 在导入一个app后提示如下错误: “Error ...

  3. 补充《解析“60k”大佬的19道C#面试题(上)》

    [广州.NET技术俱乐部]微信群的周杰写了一篇文章<解析“60k”大佬的19道C#面试题(上)>https://www.cnblogs.com/sdflysha/p/20200325-19 ...

  4. 解析“60k”大佬的19道C#面试题(上)

    解析"60k"大佬的19道C#面试题(上) 先略看题目: 请简述async函数的编译方式 请简述Task状态机的实现和工作机制 请简述await的作用和原理,并说明和GetResu ...

  5. 解析“60k”大佬的19道C#面试题(下)

    解析"60k"大佬的19道C#面试题(下) 在上篇中,我解析了前 10 道题目,本篇我将尝试解析后面剩下的所有题目. 姐妹篇:解析"60k"大佬的19道C#面试 ...

  6. 每日英語2013.09.09(Email常用單字)

    carbon copy 副本抄送 forward 轉交;轉寄(+to) Please check the file carried by this email for the details.細節請看 ...

  7. Cheatsheet: 2013 10.09 ~ 10.23

    Other 10 Basic Linux Networking and Monitoring Commands You Should Know A simple, portable yet effic ...

  8. Cheatsheet: 2013 09.01 ~ 09.09

    .NET Multi Threaded WebScraping in CSharpDotNetTech .NET Asynchronous Patterns An Overview of Projec ...

  9. Cheatsheet: 2013 07.09 ~ 07.20

    Mobile How to implement Android Splash Screen Migrating iOS MVC Applications to Windows Phone 8 (M-V ...

随机推荐

  1. codeforces#FF DIV2C题DZY Loves Sequences(DP)

    题目地址:http://codeforces.com/contest/447/problem/C C. DZY Loves Sequences time limit per test 1 second ...

  2. UVA 11754 - Code Feat(数论)

    UVA 11754 - Code Feat 题目链接 题意:给定一个c个x, y1,y2,y3..yk形式,前s小的答案满足s % x在集合y1, y2, y3 ... yk中 思路:LRJ大白例题, ...

  3. React Native-目前最火的前端技术?

    做为一名产品经理,你是否遇到过这样的窘境,“帮我把字体调成 16号呗,颜色变成 #FFFF00FF,老大说这里最好改一下”,作为一名 app 的开发只能无奈但心里窃喜的告诉你,“只能等下个版本了,必须 ...

  4. myeclipse 8.6 插件安装之SVN

    在这里我要说明一点,myEclipse 8.6的插件安装和之前的版本可能会有一些区别,下面是SVN插件的安装: 1.从官网下载site-1.6.13.zip文件,网址是:subclipse.tigri ...

  5. [LeetCode]题解(python):027-Remove Element

    题目来源: https://leetcode.com/problems/remove-element/ 题意分析: 给定一个数组和一个数值val,将数组中数值等于val的数去除.不能申请额外空间,超过 ...

  6. ioctl函数详细说明

    本函数影响由fd 参数引用的一个打开的文件. #include<unistd.h> int ioctl( int fd, int request, .../* void *arg */ ) ...

  7. qt qml 利用xmlhttprequest 调用有赞api

    最近朋友在有赞商城上面开了一个店铺,因为有实体店,一般卖商品后送货上门,但是打票时候老是人工用world文档人工复制黏贴订单打印小票, 所以就找我帮忙做一个软件专门打印小票的,就研究起来调用有赞第三方 ...

  8. AnsiString 在 Delphi 中虽然不可用,但是,在 C++ 中可以用

    [C++] C++ Builder 中 Ansi 编码的字符串在Android/iOS程序中显示的问题 呃,这个问题说起来,其实也不麻烦,C++ Builder 本身在 TEncoding 做了处理, ...

  9. 转: c++继承中的内存布局

    英文原文: http://www.openrce.org/articles/files/jangrayhood.pdf 翻译: http://blog.csdn.net/jiangyi711/arti ...

  10. git pull 出错 fatal: Could not read from remote repository.Please make sure you have the correct access rights.and the repository exists.

    Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hos ...