我正在通过OpenImageFileDialog
从图像文件中读取,该文件同时接受.ico
和位图文件。使用图标,我需要创建一个Icon
对象并将其转换为位图。
如何判断文件是否实际上是一个图标?只是检查.ico
扩展名似乎不可靠。
答案 0 :(得分:6)
好吧,我没有看到很多伪装成.ico
的位图,反之亦然。使用扩展来确定这些事情实际上是最常见的方式。
如果你想要聪明,你可以尝试将图像打开为Bitmap,如果失败,请尝试它是一个图标,如果失败则放弃。
但是,如果您支持的格式数量增加,这种聪明感很快就会变得很痛苦。您可以尝试查看文件并在这种情况下从标题中确定文件格式,这可能比让解析器失败更快(也避免了异常驱动的编程)。