none
C#如何检测一个文件是否为图像文件 RRS feed

  • 问题

  • C#如果检测一个文件是否为真的图像文件,如:.jpg, .bmp, .png, .tiff文件等,当把一个txt的文件后缀改为jpg时,能检查出来不是图像文件,谁能提供一个好的方法。望大侠们不吝赐教

    程序人生

    2013年5月16日 13:10

答案

  • 图像文件的定义太广,比如WMF文件只是一些指令而已。没有通用检测所有图像格式的可能。即使是专业的图像软件,例如Photoshop,也不支持所有的图像格式。

    如果确定一个标准图像格式,比如bmp或者jpeg,可以根据标准的规定去分析文件头。



    Visual C++ MVP

    2013年5月16日 17:39
    版主
  • 这几种可以直接用GDI+(Systen.Drawing.Image.FromFile)或者WIC读取


    Visual C++ MVP

    2013年5月17日 3:55
    版主

全部回复

  • 图像文件的定义太广,比如WMF文件只是一些指令而已。没有通用检测所有图像格式的可能。即使是专业的图像软件,例如Photoshop,也不支持所有的图像格式。

    如果确定一个标准图像格式,比如bmp或者jpeg,可以根据标准的规定去分析文件头。



    Visual C++ MVP

    2013年5月16日 17:39
    版主
  • 我现在只有bmp,jpg,tiff,jpeg这几种需要验证,也就是windows支持几种吧,怎么分析文件头?


    程序人生

    2013年5月17日 2:06
  • 这几种可以直接用GDI+(Systen.Drawing.Image.FromFile)或者WIC读取


    Visual C++ MVP

    2013年5月17日 3:55
    版主