bmp.h

来自「这个版本修正了已知的Bug,同时添加了部分函数」· C头文件 代码 · 共 54 行

H
54
字号

//显示256色BMP图像
BITMAP  *load_bmp(char *name)
{     FILE *fp;
      bmphead heard;
      unsigned short width,height,heard_long;
      if((fp=fopen(name,"rb"))==NULL){
      sprintf(grp_err,"Can't Open Bmp File %s",name);
      return FALSE;}
      BITMAP *bitmap;
      fread(&heard,1,sizeof(bmphead),fp);
      width=heard.biwidth;
      if(width%8)width=((width>>3)+1)<<3;
      height=heard.biheight;
      heard_long=heard.bfoff;
      bitmap=create_bitmap(width,height);
       fseek(fp,heard_long,SEEK_SET);
        for(short k=height-1;k>=0;k--)
        fread(bitmap->line[k],width,1,fp);
       bitmap->MskCol=*(bitmap->dat);
     return bitmap;
}

//读BMP图像的width and height
char  ReadBmp(char *name,BITMAP *bitmap)
{     FILE *fp;
      BMPHEAD heard;
      register short width,height;
      if((fp=fopen(name,"rb"))==NULL){
      sprintf(grp_err,"Can't Open Bmp File %s",name);
      return FALSE;}
      fread(&heard,1,sizeof(bmphead),fp);
      width=heard.biwidth;
      if(width%8)width=((width>>3)+1)<<3;
      height=heard.biheight;
     bitmap->w=width;
     bitmap->h=height;
     fclose(fp);
     return TRUE;
}

//读取BMP图像信息, 返回值 0-成功 1-失败
char getbmpinfo(char *pic,BMPHEAD *p)
{
  FILE *bmpfile=fopen(pic,"rb");
  if (bmpfile!=NULL)
  {
    fread(p,1,54,bmpfile);
    fclose(bmpfile);
    if (p->signal==0x4d42) return TRUE;
  }
  return FALSE;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?