通过读取前几个字节,您可以得到一个猜测,但需要尝试完全解析以确保.以下是我的一个图像加载对象中的一些代码,您可以将其用作参考:
if(Open()==true)
{
unsigned char testread[5];
if(Read(&testread,(unsigned long)4)==4)
{
testread[4]=0;
if(!strcmp((char *)testread,"GIF8"))
{
Close();
LoadGIFImage(justsize);
}
else if(testread[0]==0xff && testread[1]==0xd8)
{
Close();
LoadJPGImage(justsize);
}
else if(testread[0]==0x89 && testread[1]==0x50 && testread[2]==0x4e && testread[3]==0x47)
{
Close();
LoadPNGImage(justsize);
}
else if(testread[0]==0x00 && testread[1]==0x00 && testread[2]==0x01 && testread[3]==0x00)
{
Close();
LoadWINICOImage(justsize);
}
else if(testread[0]==0x42 && testread[1]==0x4d)
{
Close();
LoadBMPImage(justsize);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2316 次 |
| 最近记录: |