//读入位图的信息头
BMINFOHEADER *ReadInfoHeader(char *filepath,BMINFOHEADER *bmih);
//打印位图的信息头
void PrintInfoHeader(BMINFOHEADER *bmih);
//创建 8 位位图的调色板
int CreatePalette(RGBQUAD pal[]);
//读入位图的像素数据
int ReadPixelData(char *filepath,BYTE *imgData);
//计算每行像素所占的字节数
LONG GetLineBytes(int imgWidth,int bitCount);
//打印位图的像素数据
void PrintPixelData(BYTE *imgData,int width,int height,int bitCount);
//打印菜单选项
void PrintMenu();
//另存为位图
int SaveAsImage(char *filepath);
//保存文件头
int SaveFileHeader(FILE* fp);
//保存信息头
int SaveInfoHeader(FILE* fp);
//保存调色板
int SaveColorPalette(FILE *fp);
//保存像素数据
int SavePixelData(FILE* fp);
void ror90(BMFILEHEADER *pbf,BMINFOHEADER *pbi,BYTE **imgdata);
BYTE **read_bmp(char *filename, BYTE **imgdata);
void ShowImage(char * filepath);
#endif
#include"BitMapHeader.h"
#include"DefineBM.h"
int CheckFilePath(char *filepath)
{//检查文件路径是否正确
int len = strlen(filepath);
char SaveArr[3];
strncpy(SaveArr, &filepath[len-3], 3);
if(!(SaveArr[0] == 'b' && SaveArr[1] == 'm' && SaveArr[2] == 'p'))
{
printf("你打开不是位图,或打开的位图格式不对!请输入以\".bmp\"结尾的图像。\
n");