- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
bmpTo565
本程序主要包含两个文件,一个头文件,一个代码实现文件,头文件为:
bmp_convert.h,内容如下:
#ifndef _BMP_CONVERT_H_
#define _BMP_CONVERT_H_
//此文件主要定义以下内容:
//1.各种位数的RGB数据的定义
//2.BMP文件头信息结构体的定义
//3.主要宏的定义
//typedef unsigned long DWORD;
//typedef int BOOL;
//typedef unsigned char BYTE;
//typedef unsigned short WORD;
//typedef short SHORT;
//typedef long LONG;
//图像转换格式大小定义,目前定义所支持的BMP图像最大为:1920*1080
#define MAX_HEIGHT 1080
#define MAX_WIDTH 1920
//BMP头信息大小定义,其中,如果为8位BMP,则存在256个色表
//共占用空间256*4字节,54为文件头信息大小
#define MAX_HEADER 1024+54
//
#define BMP_BFTYPE_0 0x01
#define BMP_BFTYPE_1 0x02
#define BMP_FILE_SIZE 0x03
#define BMP_OFFSET 0x04
#define BMP_WIDTH 0x05
#define BMP_HEIGHT 0x06
#define BMP_BITCOUNT 0x07
#define BMP_COMPRESSION 0x08
#define BMP_IMAGE_SIZE 0x09
#define BMP_X_PELSPERMETER 0x0A
#define BMP_Y_PELSPERMETER 0x0B
#define BMP_CLRUSED 0x0C
#define BMP_CLRIMPORTANT 0x0D
#define BMP_1BIT 0x01
#define BMP_4BIT 0x04
#define BMP_8BIT 0x08
#define BMP_16BIT 0x10
#define BMP_24BIT 0x18
#define BMP_32BIT 0x20
typedef struct
{
unsigned char bit0:1;
unsigned char bit1:1;
unsigned char bit2:1;
unsigned char bit3:1;
unsigned char bit4:1;
unsigned char bit5:1;
unsigned char bit6:1;
unsigned char bit7:1;
}udata_1;
typedef union
{
udata_1 udata;
unsigned char ldata;
}RGB_1;
typedef struct
{
unsigned char index1:4;
unsigned char index2:4;
}udata_4;
typedef union
{
udata_4 udata;
unsigned char ldata;
}RGB_4;
typedef struct
{
unsigned char nouse:2;
unsigned char r:2;
unsigned char g:2;
unsigned char b:2;
}udata_8;
typedef union
{
udata_8 udata;
unsigned char ldata;
}RGB_8;
typedef struct
{
short int r:5;
short int g:6;
short int b:5;
}udata_565;
typedef union
{
udata_565 udata;
short int ldata;
}RGB_565;
typedef struct
{
short int r:5;
short int g:5;
short int b:5;
short int nouse:1;
}udata_555;
typedef union
{
udata_555 udata;
short int ldata;
}RGB_555;
typedef struct
{
uns
文档评论(0)