0

我正在动态地将一堆文件添加到Panels我的Form.

当我显示 时OpenFileDialog,我允许用户选择一个文件。当用户选择一个文件时,我想:

a) If the file is an image, display a thumbnail of that image in the Panel, and
b) If the file is _not_ an image, display its File Icon in the Panel.

我也很难理解如何区分Image文件和文件(normal file没有为所有不同的图像类型做大量IF声明。你会这样做吗?)

我们应该怎么做?我已经搜索过,但我没有找到任何有助于解释如何解决这个问题的东西。

4

2 回答 2

1

至于 b),我开始认为您不能仅仅通过扩展名来真正区分文件的类型。那确实会使清单太长。使用图像文件,我可以让自己获得“奢侈”的性能,即只提供图像引擎(在我的情况下为 FreeImage),然后捕获异常。

于 2013-07-04T05:46:10.363 回答
1

如何获取缩略图,您可以在此处阅读例如

为了检查文件扩展名,您可以创建List<string>图像文件扩展名并编写如下内容:

List<string> extensions  = ....;

if(extensions.Conatins(Path.GetExtension(_yourOpenFileDialog.FileName)))

编辑

尽管要检查您的文件是否是有效图像,您可以检查它的已知标题,或者只是尝试类似这样Image.FromFile(....).RawFormat的方法,如果文件不是图像,则会抛出异常,正如 Alexander 建议的那样

于 2013-07-04T05:47:00.417 回答