| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 389 人关注过本帖
标题:图片还原问题
收藏  订阅  推荐  打印 
hotcls
Rank: 1
等级:新手上路
帖子:18
积分:280
注册:2007-7-31
图片还原问题

请教一个问题:
一个文件如aa.bin里是.bmp文件的位图数据,且按565的格式存储,要把它还原为888格式的原.bmp文件.
求vc代码。
一、BMP文件结构
1. BMP文件组成
BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。
2. BMP文件头
BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。
其结构定义如下:
typedef struct tagBITMAPFILEHEADER//(Size: 14)
{
WORDbfType;//(0x00) 位图文件的类型,必须为BM
DWORDbfSize;//(0x02) 位图文件的大小,以字节为单位
WORDbfReserved1;//(0x06) 位图文件保留字,必须为0
WORDbfReserved2;//(0x08) 位图文件保留字,必须为0
DWORDbfOffBits;//(0x0A) 位图数据的起始位置,以相对于位图文件头的偏移量表示,以字节为单位
} BITMAPFILEHEADER;
3. 位图信息头
BMP位图信息头数据用于说明位图的尺寸等信息。
typedef struct tagBITMAPINFOHEADER//(Size: 40)
{
DWORDbiSize;//(0x0E) 本结构所占用字节数
LONGbiWidth;//(0x12) 位图的宽度,以像素为单位
LONGbiHeight;//(0x16) 位图的高度,以像素为单位
WORDbiPlanes;//(0x1A) 目标设备的级别,必须为1
WORDbiBitCount//(0x1C) 每个像素所需的位数,必须是1(双色), 4(16色),8(256色)或24(真彩色)之一
DWORDbiCompression;//(0x1E) 位图压缩类型,必须是:0(不压缩),1(BI_RLE8压缩类型),2(BI_RLE4压缩类型)之一
DWORDbiSizeImage;//(0x22) 位图的大小,以字节为单位
LONGbiXPelsPerMeter;//(0x26) 位图水平分辨率,每米像素数
LONGbiYPelsPerMeter;//(0x2A) 位图垂直分辨率,每米像素数
DWORDbiClrUsed;//(0x2E) 位图实际使用的颜色表中的颜色数
DWORDbiClrImportant;//(0x32) 位图显示过程中重要的颜色数
} BITMAPINFOHEADER;
谢谢。
搜索更多相关主题的帖子: BMP  位图  文件  bmp  图形  
2007-7-31 20:37
hotcls
Rank: 1
等级:新手上路
帖子:18
积分:280
注册:2007-7-31

http://user.qzone.qq.com/526044268
2007-7-31 20:38
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.056172 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved