资源简介

纯c函数写的旋转位图90度程序, 提供了编程接口方便调用。 不涉及任何平台相关代码,可以在windows和linux中运行。 其中变量定义用到了c++的规则(GNU c) 所以有些编译器可能报错, 请使用c++ 源代码格式cpp,再编译即可。

资源截图

代码片段和文件信息

#include 
#include 

//因为在 BITMAPFILEHEADER 结构体中 bfType 为2字节, 为防止字节对齐为4字节,故强制使用2字节对齐。
//详情请搜索 内存对齐
#pragma pack (2)

typedef unsigned long       DWORD;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef long LONG;


typedef struct tagBITMAPFILEHEADER { 
WORD bfType; //必须为‘BM‘
DWORD bfSize; //文件大小
WORD bfReserved1; //必须为0
WORD bfReserved2; //必须为0
DWORD bfOffBits;//从ITMAPFILEHEADER到存放bmp数据的偏移量
}BITMAPFILEHEADER *PBITMAPFILEHEADER;

typedef struct tagBITMAPINFOHEADER{
DWORD biSize; //此结构的大小可用sizeof(BITMAPINFOHEAER)得到
LONG  biWidth; //位图宽度以象素为单位
LONG  biHeight; //位图高度以象素为单位
WORD  biPlanes; //必须为1
WORD  biBitCount;//位图象素位数可为01482432 
DWORD biCompression; 
DWORD biSizeImage; //(仅用于压缩)
LONG  biXPelsP

评论

共有 条评论