TIFF 画像を扱うドキュメント データベース アプリケーションを開発しています。画像に注釈を付ける場合、モノクロ (Format1bppIndexed) 画像の選択肢として白黒のみを提示するユーザー インターフェイスと、色深度の高い画像の複数の色を提示するためには、TIFF がモノクロかどうかをテストする必要があります。これが私の機能です:
private bool IsBitonal(string filePath) { bool isBitonal = false; 試す { ビットマップ bitmap = new Bitmap(sourceFilePath); Graphics graphics = Graphics.FromImage(bitmap); } キャッチ(例外例) { isBitonal = true; } 戻り値はBitonalです。 }
機能しますが、優雅ではありません。スローされるインデックス付きピクセル形式の例外については、http: //msdn.microsoft.com/en-us/library/system.drawing.graphics.fromimage.aspxで説明されています。
通常のプログラム フローで例外をトラップすることは、適切な方法ではありません。また、別の例外がスローされる可能性も考えられます。例外のトラップに依存しない IsBitonal 関数を実装するより良い方法はありますか?
Web で情報を検索してみましたが、TIFF 画像を読み込み、別の形式に変換して例外を回避する方法の例を見つけましたが、TIFF 画像がモノクロかどうかの簡単なテストの例は見つかりませんでした。
ありがとう。