确定文件是否为图标

时间:2009-09-18 07:58:58

标签: c#

我正在通过OpenImageFileDialog从图像文件中读取,该文件同时接受.ico和位图文件。使用图标,我需要创建一个Icon对象并将其转换为位图。

如何判断文件是否实际上是一个图标?只是检查.ico扩展名似乎不可靠。

1 个答案:

答案 0 :(得分:6)

好吧,我没有看到很多伪装成.ico的位图,反之亦然。使用扩展来确定这些事情实际上是最常见的方式。

如果你想要聪明,你可以尝试将图像打开为Bitmap,如果失败,请尝试它是一个图标,如果失败则放弃。

但是,如果您支持的格式数量增加,这种聪明感很快就会变得很痛苦。您可以尝试查看文件并在这种情况下从标题中确定文件格式,这可能比让解析器失败更快(也避免了异常驱动的编程)。