当前位置:  开发笔记 > 编程语言 > 正文

识别图像文件格式

如何解决《识别图像文件格式》经验,为你挑选了2个好方法。

给定没有扩展名的图像文件,如何读取图像文件并在C++中识别文件格式?



1> Mehrdad Afsh..:

您可以检查Linux file命令(git://git.debian.net/git/debian/file.git)的来源.它完全一样; 而不仅仅是图像文件.



2> KPexEA..:

通过读取前几个字节,您可以得到一个猜测,但需要尝试完全解析以确保.以下是我的一个图像加载对象中的一些代码,您可以将其用作参考:

    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);

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有