📄 bmpinf.h
字号:
#define uart_debug_Dir_play_next 0
//=====================
typedef struct {
uint32 biSize; /* 本结构所占用字节数 */
uint32 biWidth; /* 位图的宽度,以像素为单位 */
uint32 biHeight; /* 位图的高度,以像素为单位 */
uint16 biPlanes; /*目标设备的级别,必须为1 */
uint16 biBitCount;/*每个像素所需的位数,必须是1(双色),
4(16色),8(256色)或24(真彩色)之一 */
uint32 biCompression;
/*位图压缩类型,必须是 0(不压缩) 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一*/
uint32 biSizeImage; /* 位图的大小,以字节为单位 */
uint32 biXPelsPerMeter; /* 位图水平分辨率,每米像素数 */
uint32 biYPelsPerMeter; /* 位图垂直分辨率,每米像素数 */
uint32 biClrUsed;/* 位图实际使用的颜色表中的颜色数 */
uint32 biClrImportant;/* 位图显示过程中重要的颜色数 */
} BITMAPINFOHEADER;
typedef struct {
uint8 rgbBlue;/*蓝色的亮度(值范围为0-255) */
uint8 rgbGreen; /* 绿色的亮度(值范围为0-255) */
uint8 rgbRed; /* 红色的亮度(值范围为0-255) */
uint8 rgbReserved;/* 保留,必须为0 */
} RGBQUAD;
/*颜色表中RGBQUAD结构数据的个数有biBitCount来确定:
当biBitCount=1,4,8时,分别有2,16,256个表项;
当biBitCount=24时,没有颜色表项 */
typedef struct
{
uint16 bfType; /*位图文件的类型,必须为BM*/
uint32 bfSize; /* 位图文件的大小,以字节为单位*/
uint16 bfReserved1; /*位图文件保留字,必须为0 */
uint16 bfReserved2; /*位图文件保留字,必须为0 */
uint32 bfOffBits; /* 位图数据的起始位置,以相对于位图 */
/*文件头的偏移量表示,以字节为单位 */
BITMAPINFOHEADER bitmapinf;
RGBQUAD rgbinf;
} BITMAPFILEHEADER; /*54byte*/
typedef struct
{
DATA_POSIT DirPosit;
uint32 BmpSize;
uint32 BmpOffBits;
uint32 BiWidth;
int32 BiHeight;
} BMPFILEHANDLE; /*54byte*/
BMPFILEHANDLE BmpFileHd={{dir_org_clusId,0,0,ok},0,54,128,-128};
//读取BMP数据结构
void ReadBmpInf(uint8 * inf)
//********************************************************************************************
{
BITMAPFILEHEADER* BmpTP = (BITMAPFILEHEADER*)inf; //1
//获取参数
BmpFileHd.BmpSize=BmpTP->bfSize;
BmpFileHd.BmpOffBits=BmpTP->bfOffBits;
BmpFileHd.BiWidth=BmpTP->bitmapinf.biWidth;
BmpFileHd.BiHeight=abs(BmpTP->bitmapinf.biHeight);
}
//==============
//======================
DATA_POSIT get_Same_FileType_posit(DATA_POSIT data_posit_tp,uint8 * FileType);
FILE_HANDLE GetDirFilehd(DATA_POSIT * dir_posit);
//==============================
void rst_Dirhd(DATA_POSIT * dir_posit)
{dir_posit->ClusID=dir_org_clusId;
dir_posit->SecOfClus=0;
dir_posit->ByteOfSec=0;
}
/*======================================
功 能:获得和文件类型对应的目录项的data_posit地址
代入参数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -