假如我有个.bmp图片   读入byte[] 数组后  如何判断 数组内哪些数据是 图片的数据?哪些数据是跟图片没关系的信息呢?我手里有个图片, 能正常显示出来,但是我肯定 图片内部包含了一些其他的信息 可我不知道怎么获取这部分信息.望高手指点一二,或者提出个思路,小弟不胜感激!

解决方案 »

  1.   

    01.private bool IsPicture(string filePath)//filePath是文件的完整路径    
    02.        {  
    03.            try  
    04.            {  
    05.                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);  
    06.                BinaryReader reader = new BinaryReader(fs);  
    07.                string fileClass;  
    08.                byte buffer;  
    09.                byte[] b=new byte[2];  
    10.                buffer = reader.ReadByte();  
    11.                b[0] = buffer;  
    12.                fileClass = buffer.ToString();  
    13.                buffer = reader.ReadByte();  
    14.                b[1]=buffer;  
    15.                fileClass += buffer.ToString();  
    16.  
    17.  
    18.                reader.Close();  
    19.                fs.Close();  
    20.                if (fileClass == "255216 ")//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar    
    21.                {  
    22.                    return true;  
    23.                }  
    24.                else  
    25.                {  
    26.                    return false;  
    27.                }  
    28.            }  
    29.            catch  
    30.            {  
    31.                return false;  
    32.            }  
    33.        }  
      

  2.   

    首先,先感谢下这位大哥 , 您这段代码是用来判断文件的类型吧?
    小弟要的是:
    把一个图片文件读取到byte[]里,  怎么判断 byte[]里 从第几个元素 到第几个元素 是图片数据,从第几个元素到第几个元素是其他的信息. 
      

  3.   

    你仔细阅读下BMP格式的文件规范啊,网络上太多了。BMP格式是所有图像文件中最简答的。
      

  4.   

    BMP文件解析
    自己按照原理去解析吧,如果遇到什么小问题再提出来,别直接要现成的
      

  5.   

    先读取bmp头,然后从中读取到bmp的长度,读取相应的长度后,也许剩下的就是你要的数据了。