关于图像格式判断的问题
有一段代码:
fread(&byte1,sizeof(BYTE),1,infile);
fread(&byte2,sizeof(BYTE),1,infile);
fread(&byte3,sizeof(BYTE),1,infile);
fread(&byte4,sizeof(BYTE),1,infile);
printf("%d,%d,%d,%d\n",byte1,byte2,byte3,byte4);
temp.type= byte1*16777216+byte2*65536+byte3*256+byte4;
应该是用temp.type来判断图像文件格式的.我看书上说图像文件的前2BYTE标识了图像格式,如424D="BM".但看这段代码好像是读了4BYTE~不解其用意,是不是错啦?
后续的判断代码如下:
switch (temp.type)
{
case 0xF10F:
case 0xF200:
case 0xF201:
case 0xF204:
case 0x0000:
{
... ...
break;
}
case 0x8000:
case 0x8001:
case 0xB003:
default :
{
printf("****** Unknow image type *****\n");
exit(1);
}
}
我试着输入了几次BMP图,都是直接执行到default里了
求教,这样的情况,是应该输入什么格式的图像文件呢?