0

画像処理アプリケーションは、ユーザーが開いたファイルをどのように識別しますか?

すでに知られているように、画像処理アプリケーションは既知のすべての形式の画像を開くことができます。私の質問は、画像処理アプリケーションが開いているファイルの種類をどのように認識するかです。ファイル拡張子から知るか、ファイルをバイナリで開き、ファイルのヘッダーを読み取り、そのファイルタイプのオブジェクトを作成します。

または、画像ファイル形式を見つける既知の方法。

上記の問題について、システムをどのように設計するか。使用する設計パターンです。

前もって感謝します。

ハルシャ

4

2 に答える 2

1

アプリケーション全体の設計パターンは、画像形式の認識プロセスとはまったく関係がないと言っても過言ではありません。

各画像ファイル形式には、ファイルの「ヘッダー」であるファイルの種類を示すバイナリ情報が非常に早い段階で含まれています。

たとえば、GIF ファイルは、文字 GIF と、GIF 仕様のバージョン (87a または 89a) を示すコードで始まります。Robert Harvey が示すように、PNG ファイルには特殊文字があり、ファイルの最初の 4 バイトとして PNG が続きます。

主要な画像形式のウィキペディアのエントリのほとんどは、ヘッダーを説明し、ファイル自体についてもう少し詳しく説明しています。PNG と JPEG をカバーする上記のリンクに加えて、http://en.wikipedia.org/wiki/もあります。 GIF#GIFの File_format。

于 2010-11-24T18:24:26.457 に答える
0

拡張子が .PNG のファイルがあり、それが本当に PNG ファイルかどうかわからないとします。ヘッダーを見て、それが PNG ファイルであることを確認できます。

JPG の場合、ファイルの構文と構造を調べて、JPG に期待するものであるかどうかを確認できます。

一般的に言えば、アルゴリズムは次のとおりです。ファイルの内部構造が拡張子が間違っていることを証明するまで、画像ファイルはファイル拡張子が示す形式であると想定します。

于 2010-11-24T18:19:44.673 に答える