2013-07-04 19 views
0

我在我的Form中動態添加一堆文件到​​。如何獲取所選文件的縮略圖並在PictureBox中顯示?

當我顯示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聲明的所有不同的圖像類型。那麼你會怎麼做?)

我們該怎麼做?我已經搜索,但我還沒有找到任何有助於解釋如何解決這個問題。

+0

至於a),抱歉,但你有沒有至少搜索「c#thumbnail」? – Alexander

+0

@Alexander,而不是_exactly_「c#thumbnail」,但約有20個其他變體。 –

回答

1

至於b),我認爲你不能真正區分什麼類型的文件只是擴展名。這確實會造成太長的名單。對於圖像文件,無論發生什麼情況,我都會讓自己的表現成爲「奢侈品」,只是爲成像引擎提供成像引擎(FreeImage),然後捕捉異常。

0

如何讓你可以閱讀例如here

和檢查的文件擴展名縮略圖喲可以只創建映像文件擴展的List<string>,寫這樣的事:

List<string> extensions = ....; 

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

編輯

雖然要檢查您的文件是否有效圖像,您可以檢查它是否已知header或只是嘗試像這樣的Image.FromFile(....).RawFormat這將拋出異常,如果文件不是圖像,因爲亞歷山大建議

相關問題