2010-11-24 36 views
0

圖像處理應用程序如何識別用戶打開的文件?圖像處理應用程序如何識別用戶打開的文件?

正如我們已經知道的圖像處理應用程序可以打開所有已知格式的圖像。我的問題是,圖像處理應用程序如何知道它打開的文件類型。它會從文件擴展名中知道,或者它將打開二進制文件並讀取文件頭,然後我將創建該文件類型的對象。

或找出圖像文件格式的任何已知方法。

對於上述問題,您如何設計您的系統。哪些是您將使用的設計模式。

在此先感謝。

回答

0

比方說,我有其中.png擴展名的文件,我不知道,這真的是一個PNG文件。我可以look at the header並驗證它是一個PNG文件。

對於JPG的我可以看看文件的syntax and structure,看看它是我期望從JPG中得到的。

一般來說,算法是:假設圖像文件是文件擴展名所表示的格式,直到文件的內部結構證明擴展名是錯誤的。

1

我會說應用程序的整體設計模式與圖像格式識別過程完全無關。

每個圖像文件格式都有很早的二進制信息,表明它是文件的類型,它是文件的「標題」。

例如,GIF文件以字母GIF開頭,代碼表示GIF規範87a或89a的哪個版本。正如Robert Harvey指出的那樣,PNG文件具有特殊字符,接着是PNG作爲文件的前四個字節。

大多數主要圖像格式的維基百科條目確實解釋了標題,還有一些關於文件本身的內容 - 除了上面包含PNG和JPEG的鏈接外,還有用於GIF的http://en.wikipedia.org/wiki/GIF#File_format

相關問題