登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

请教图形文件BMP的文件存储结构是什么?

作者:imaway 栏目:技术交流
请教图形文件BMP的文件存储结构是什么?
有哪位朋友知道图形文件BMP的文件存储结构是什么?能否介绍一下,谢谢!

2楼: >>参与讨论
exito
这几个部分。

BMP 是图象文件,不是图形文件(当然图形可以当图象来存放)

BMP文件分几个部分

1。文件头信息 BITMAPFILEHEADER 大小
2。位图信息 BITMAPINFOHEADER 大小
3。调色板大小。(依图象不同每个可能不同。真彩色图象没有)
4。图象数据区。



3楼: >>参与讨论
tyw
参考一下
http://bbs.21ic.com/upfiles/img/2006917183531579.rar

关于bmp的格式:在VC环境中 包含windows.h就可以使用定义好的头文件结构

BITMAPFILEHEADER 文件头
BITMAPINFOHEADER 信息头
RGBQUAD          调色盘(可选)
剩下部分为点阵数据

关于bmp数据格式:
24bit:3个BYTE表示一个像素 依存贮顺序为BBGGRR
256色(8bit) 每一个BYTE表示一个像素,存贮的是该像素点在调色盘中的索引值

16色(4bit)每一个BYTE表示二个像素,要注意这里高4位存贮前一个像素 低4位存贮第二个像素 存贮也是该像素点在调色盘里的索引值,既在内存里存贮格式为AAAABBBB AAAA是后一个像素点的数据,BBBB是前一个像素点的数据 按高位低位则为BBBBAAAA

单色 (1bit)每一个BYTE表示8个像素,同16色一样仍然是从高到低储存 1位白 0为黑


关于调色盘:每一个占4BYTE 分别为RGB和一个保留位,
调色盘的数量:低于24bit大于1bit的位图中在BITMAPINFOHEADER中有biClrUsed一项,项目若该项为0则调色盘数量为标准值,既为pow(2,biBitCount),若不为0则调色盘数量既为该值


关于4字节对齐:各种BMP文件都必须4字节对齐 既每行的BYTE的数必须为4的倍数 不够的部分用0补齐 比如一个50x50的24bit图原本一行的数据量为3*50=150BYTE为了对齐 所以要在后面补2个BYTE的0凑足152BYTE所以这样一幅图的数据量因该位152*50(BYTEs)

同样,其他位深的BMP文件也是这样,比如一个4x4的单色图,本来一行的数据只用半个BYTE就可以表示,但同样需要补到4个BYTE来满足对齐的要求

* - 本贴最后修改时间:2006-9-17 19:00:24 修改者:tyw

4楼: >>参与讨论
xwj
网上一搜一大把
 

文件格式大全

5楼: >>参与讨论
conwh
这一大把够看一阵的
 
6楼: >>参与讨论
imaway
tyw我的朋友!我感觉是全材!
 
7楼: >>参与讨论
iC921
他的仓库怎么那么多货?
我去当秘书得了……收不收?

8楼: >>参与讨论
将军令
去下载一个EASYBMP开放源码软件
不用理会bmp内部是怎么回事,就可以轻松搞定bmp文件

参与讨论
昵称:
讨论内容:
 
 
相关帖子
用单片机做可控硅触发怎样避免干扰?
Protel 99SE双语菜单
5mm发光二极管如何固定在面板上?
急求安规电子课件!
被PROTEL DXP给整了
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号