简单得判断图片文件类型的代码

一般情况只要看图片文件后缀,就可以知道该图片是什么格式

但有些特殊情况,当一个图片文件后缀不可知的时候想要知道一个图片文件的类型(有BMP JPEG GIF 等等)

现在有很多开源的库的可以判断文件的类型,有时候想想不需要那么多的代码就可以判断

下面的代码可以知道,原理应该是这样,代码未经测试

   int fh;
   long len;

   //得到内容长度
   fh = _open( imagefile, _O_RDONLY );

   len = _lseek( fh, 0L, SEEK_END ); 
   if( pos == -1L )
      perror( "_lseek to end failed" );
   _close( fh );

   FILE *pf = fopen(imagefile,"rb");
   if(pf)
   {
       unsigned char *buf = (unsigned char*)malloc(len);
       fread(buf, 1, len, pf);
        
       if(buf[0]==0X42 && buf[1]==0X4D)//4D42 BMP
       {
       }
       else if(buf[0]==0XFF && buf[1]==0XD8)//D8FF JPEG
       {
       }
       else if(buf[0] ==0X47 && buf[1]==0X49)//4947 GIF
       {
       }
       else if(buf[0]==0X0A && buf[1]==0X0)//050A PCX
       {
       }
       else if(buf[0]==0X89 && buf[1]==0X50)//5089 PNG
       {
       }
       else if(buf[0]==0X38 && buf[1]==0X42)//4238 PSD
       {
       }
       else if(buf[0]==0X59 && buf[1]==0XA6)//A659 RAS
       {
       }
       else if(buf[0]==0X01 && buf[1]==0XDA)//DA01 SGI
       {
       }
       else if(buf[0]==0X49 && buf[1]==0X49)//4949 TIFF
       {
       }
       else
       {
       }
       free(buf);
       fclose(pf);
   }  

 

 

 

  

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章