C# 判断图形文件(GIF,JPG,PNG)的图片格式的方法

来源:互联网 发布:网站布局优化 编辑:程序博客网 时间:2024/05/29 17:01
通过读取文件内容来判断。
    所有的图片文件都包括:文件识别头和图象数据两部分,
    其中文件识别头用来让计算机判断是哪种文件 格式。
    JPEG        所有的JPEG文件以字符串“0xFFD8”开头,并以字符串“0xFFD9”结束。依此便可判别是否是JPEG文件。
    BMP
    BMP文件以字符串“0x4D42”开头
    GIF
     gif头六个是 GIF89a或 GIF87a  

大部分都是通过将文件读成二进制流,取前两个字节判断,比如.jpg的是255216.代码如下:

public static FileExtension CheckTextFile(string fileName)        {            FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);            System.IO.BinaryReader br = new System.IO.BinaryReader(fs);            string fileType = string.Empty; ;            try            {                byte data = br.ReadByte();                fileType += data.ToString();                data = br.ReadByte();                fileType += data.ToString();                FileExtension extension;                try                {                    extension = (FileExtension)Enum.Parse(typeof(FileExtension), fileType);                }                catch                 {                     extension=FileExtension.VALIDFILE                }                return extension;            }            catch (Exception ex)            {                throw ex;            }            finally            {                if (fs != null)                {                    fs.Close();                    br.Close();                }            }        }    }    public enum FileExtension    {        JPG = 255216,        GIF = 7173,        PNG = 13780,        SWF = 6787,        RAR = 8297,        ZIP = 8075,        _7Z = 55122,        VALIDFILE=9999999   } 


0 0