好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#识别常见图片的类型

1.通过文件的扩展名来判断

这种方法比较简单, 


但若是有人故意改下文件扩展名,这种方法就不起作用了。


2.通过C#自身提供的方法来进行判断(判断某种确定的图片类型)

bool isJPG = false;

System.Drawing.Image img = System.Drawing.Image.FromFile(filesName);

if(img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))

{

 isJPG = true;

}

3.通过读取文件内容来判断

所有的图片文件都包括:文件识别头和图象数据两部分,

其中文件识别头用来让计算机判断是哪种文件 格式。


JPEG

自媒体培训


所有的JPEG文件以字符串“0xFFD8”开头,并以字符串“0xFFD9”结束。依此便可判别是否是JPEG文件。


BMP

BMP文件以字符串“0x4D42”开头


GIF

gif头六个是 GIF89a或 GIF87a


4.读取文件内容转换成二进制流识别,比如.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

        // 255216 jpg; 

        // 7173 gif; 

        // 6677 bmp, 

        // 13780 png; 

        // 6787 swf 

        // 7790 exe dll, 

        // 8297 rar 

        // 8075 zip 

        // 55122 7z 

        // 6063 xml 

        // 6033 html 

        // 239187 aspx 

        // 117115 cs 

        // 119105 js 

        // 102100 txt 

        // 255254 sql  

    } 

以上就是c# 识别图片格式的方法的详细内容

查看更多关于C#识别常见图片的类型的详细内容...

  阅读:2742次