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 + -
显示快捷键?