常见图片格式详解系列(二)---BMP位图--

BMP

BMP是windows的一种图片格式,其组织方式相对简单,一个简单表示bmp文件的头结构 (BITMAPFILEHEAER)+ 一个表示图片信息的结构(BITMAPINFOHEADER)+ 一个表示调色板的结构(可选)。剩下的便是存储的每一个像素点对应的R,G,B值。

BITMAPFILEHEADER

WORD bfType:表示文件类型,该值必须是0x424D,即字符‘BM’,否则便不是BMP图片。
DWORD bfSize:以字节为单位,表示整个图像文件的大小。
如需要添加列表可继续从左边点击添加
WORD bfReserved1:保留,必须设为0
WORD bfReserved2:保留,必须设为0
DWORD bfOffbits:表示从文件头开始到实际的像素之间的偏移,由于调色板的不固定性,实际像素开始的位置可能发生变化,通过此值便可以确定。


BITMAPINFOHEADER

DWORD biSize:说明本结构所占用的字节数,一般为0x28,即40个字节。
DWORD biWidth:很明显喽,表示图片的宽度。
DWORD biHeight:同上,表示图片的高度。
WORD biPlanes:表示目标设备平面数,为1。
WORD biBitCount:表示比特/像素,即每个像素占用多少比特值表示,一般值为1,4,8,16,24,32。
DWORD biCompression:表示像素的压缩类型,一般情况下都为不压缩类型,即BI_RGB,还有可选项为BI_RLE4,BI_RLE8,BI_JPEG,BI_BITFIELDS,再此就不赘述喽。
DWORD biSizeImage:说明图像的大小,以字节为单位,如果是BI_RGB类型,可设为0。
LONG biXPelsPerMeter:水平分辨率,单位像素/米。
LONG biYPelsPerMeter:垂直分辨率,单位像素/米。
DWORD biClrUsed:说明位图实际使用的彩色表中的索引颜色数(设为0的话,则说民使用所有调色板项)。
DWORD biClrImportant: 表示对图像显示有重要影响的颜色索引的数目,0表示都重要。

还是举个栗子吧,请看图(途中所示为用UtralEdit打开的bmp图片):

这是针对BMP格式的简单介绍,希望对你有所启发。

原文地址:http://blog.51cto.com/7335580/2087427

时间: 2024-10-06 02:09:38

常见图片格式详解系列(二)---BMP位图--的相关文章

常见图片格式详解系列(一) ----简介

常见图片格式介绍 信息时代,丰富多彩的世界,我们用图片来感知,来记忆,来存储.多姿多彩的图片格式,你是否了解其中奥妙呢.接下来的系列文章就要带大家详细解析常见图片格式. (一) BMP BMP格式,是windows的一种位图格式,同时也是一种未经过压缩的格式,所以占用的存储空间比较大,而且对于浏览器等网络应用并不支持,不过对于windows而言,可以搞一张bmp的图像来充当背景,相对比较清晰. (二)JPG jpeg格式是一种比较常见的图像格式,是一种经过JPEG算法压缩的图形格式,其占用存储空

常见图片格式详解

标明原作者信息 http://www.cnblogs.com/xiangism 做了几年有关图形.图像的工作,对图片格式算是小有经验,在此写成一文章总结下.虽然一开始并不想讲很理论的东西,但写完后发现几乎全是理论,细想一下关于图片格式的知识本身就是理论的东西,囧~~ 那就力求用最简单的方式将这些"理论"讲清楚吧. 常见的图片格式有bmp, jpg(jpeg), png, gif, webp等. 图像基本数据结构 要讲图片格式还先得从图像的基本数据结构说起.在计算机中, 图像是由一个个像

常见图片格式详解(五)-----GIF

前几篇梳理了常见的几种图片格式,想必大家已经稍微摸出了一些门道.图片的组织格式一般都是分为多个数据段,每一个数据段代表着不同的信息,可能是图像宽高等信息,也可能是开始或结束的标识符,亦或是压缩的数据段.GIF格式也不例外,同样也是按照类似的方式组织,本篇简单梳理梳理. 01 文件头 GIF图片格式的文件头类似于其他的图片格式,同样也有文件标识符,"GIF",在文件中以ASCII码值表示,其后跟着版本号,表示不同的GIF标准版本号.如下图: 02 逻辑屏幕标识符紧跟文件头的是逻辑屏幕标识

常见图片格式详解(四)---png

本篇简单梳理一下关于png格式图片的那些事. 一.简介 PNG图片是由很多个数据块组成的,每一个数据块代表不同的有关于图片的信息.除png头以外,每一个数据块都是按照数据长度+数据标识符+CRC校验码的结构来组织.如下图: 二.主要的PNG数据块 PNG图片的头信息用8个字节来唯一标识图像的类型. "89 50 4E 47 00 DA 1A 0A" 为png文件的标识符 2 在头标识之后,紧跟着的是叫做IHDR的数据段,包含了图像的高度,宽度,位深等相关信息. 3 IDAT是PNG中主

常见图片格式详解(三)---JPEG

JPEG简介 JPEG是一种比较成熟的有损的图像压缩格式,经过JPEG压缩,图像质量会有所损失,但是,人眼不容易分辨出来这种差别.jpeg图像在质量和存储空间得到了一个相对平衡的状态.不过jpeg文件在组织方式上略显复杂,详细请向下看. JPEG文件的存储方式 jpeg文件是按照段的格式来组织存储的,每一个文件由多个段组成,每个段代表不同的信息.同时,每个段也有自己唯一的标识符.标识符是由两个字节所组成,格式如0x FF XX,其中XX代表的是不同的类型.例如,SOI(start of imag

RGB格式详解(二)--索引格式

本节针对RGB索引格式做简单介绍,这些格式是比较老的格式,比较节省空间,在计算机发展的初期存储的成本还是很高的,但是表现的色彩很有限,而随着存储成本的不断降低,以及用户越来越高的视觉体验需求,这些格式也就基本被抛弃,不再被使用了,所以深入研究的意义也并不很大, 只做简单介绍. 前言:关于调色板,可以简单理解为通过编号映射到颜色的一张二维表.如01索引,表示红色.采用索引格式的RGB,红色的像素对应存储的值便是索引01. RGB索引格式简介:1.RGB1:每个像素用1个bit表示,可表示的颜色范围

BMP格式详解

BMP格式详解 BMP文件格式详解(BMP file format) BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式.由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源.Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持. 下面以Notepad++为分析工具,结合

JDBC详解系列(二)之加载驱动

---[来自我的CSDN博客](http://blog.csdn.net/weixin_37139197/article/details/78838091)--- ??在JDBC详解系列(一)之流程中,我将数据库的连接分解成了六个步骤. JDBC流程: 第一步:加载Driver类,注册数据库驱动: 第二步:通过DriverManager,使用url,用户名和密码建立连接(Connection): 第三步:通过Connection,使用sql语句打开Statement对象: 第四步:执行语句,将结

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节