bitmapsave.h
来自「在brew环境下」· C头文件 代码 · 共 50 行
H
50 行
#ifndef _BITMAPSAVE_H_
#define _BITMAPSAVE_H_
#include "AEEBitmap.h"
#define RGB565TORGB555(rgb565) \
(rgb565 & 0x001f) | \
((rgb565 & 0x07C0)>>1)| \
((rgb565 & 0xf800) >>1)
typedef unsigned char U8; //unsigned 8 bit integer
typedef unsigned short U16; //unsigned 16 bit integer
typedef unsigned long U32; //unsigned 32 bit integer
typedef struct _stRGB
{
U8 r;
U8 g;
U8 b;
}stRGB;
//BMP文件头
typedef struct tagBITMAPFILEHEADER_
{
U32 bfSize; //位图文件的大小,以字节为单位
U32 bfRsv; //
U32 bfOffBits; //位图数据的起始位置,以相对于位图文件头的偏移量表示,以字节为单位
}BitmapFileHeader_Type;
//位图信息头
typedef struct tagBITMAPINFOHEADER_
{
U32 biSize; // 本结构所占用字节数
U32 biWidth; // 位图的宽度,以像素为单位
U32 biHeight; // 位图的高度,以像素为单位
U16 biPlanes; // 目标设备的平面数不清,必须为1
U16 biBitCount; // 每个像素所需的位数,必须是1(双色), 4(16色),8(256色)或24(真彩色)之一
U32 biCompression; // 位图压缩类型,必须是 0(不压缩),1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
U32 biSizeImage; // 位图的大小,以字节为单位
U32 biXPelsPerMeter; // 位图水平分辨率,每米像素数
U32 biYPelsPerMeter; // 位图垂直分辨率,每米像素数
U32 biClrUsed; // 位图实际使用的颜色表中的颜色数
U32 biClrImportant; // 位图显示过程中重要的颜色数
}BitmapInfoHeader_Type;
IFile* UpStoOpenFile(const char *fname, OpenFileMode mode);
int UpStoWriteFile(IFile*pIFile, unsigned long ofs, const void* buf, unsigned long len);
void UpStoCloseFile(IFile* pIFile);
int SaveScreen24(IBitmap *pIBitmap,IDisplay *pIdisp, const char *filename);
void rgb565ToRgb888(stRGB *,U16 *);
#endif _BITMAPSAVE_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?