LEADTOOLSライブラリ

フレームを表示

8ビット/ピクセル以下である任意のimageは、パレットを持っていなければなりません。パレットは、imageを示すために色を格納する配列です。ピクセル値は、配列へのインデックスです。1つの画像は、その画像に固有のパレットを持つことも、固定パレットを複数の画像間で共有することもできます。いずれにせよ、8ビット/ピクセル以下であるメモリのあらゆるビットマップは、パレット(たとえそれが一般の固定パレットであるとしても)のそれ自身のコピーをします。

ビットマップに固有のパレットを設定する1つの方法は、8ビット以下のファイルから画像をロードすることです。この場合、ファイルがその画像用のパレットを持っているので、それを固有のパレットとして設定できます。LEADTOOLSはファイル内に保存されているパレットをロードし、そのパレットをメモリ内のビットマップと関連付けるようにデフォルトで設定されています。

ビットマップが一意なパレットを取得するもう一つの方法は、パレットを作成することです。たとえば、24ビット画像を8ビット画像に変換する場合、その画像に最適なパレットをLEADTOOLSに作成させることができます。

最適化された固有のパレットを使用すると、その画像の最高品質を得ることができますが、その反面短所もあります。表示デバイスがパレットを使用する場合は(たとえばディスプレイが256色モードの場合)、一度に複数のパレットを使用できません。そのため、一度に複数の画像を表示する場合、現在の画像はその画像固有のパレットによって最適な品質で表示できますが、そのほかのすべての画像は現在の画像のパレットによって不適切にマッピングされるため、色調がおかしくなります。これは、パレットシフトと呼ばれています。

固定パレットを使うことは、これらのパレットシフト問題を解決します。最も効果的な方法は、表示オプションとして固定パレットを指定しておきます。画像が表示されるときにそれぞれの画像に固有のパレットを使用せずに、LEADTOOLSによってこの固定パレットにリマップさせることです。256色以下の表示デバイスに16ビット、24ビット、または32ビットの画像を表示するときには、LEADTOOLS必ず固定パレットを使用します。

あるいは、個々のimageのために固定パレットを指定するために、カラー解像度関数を使うことができます。しかしこの場合、ファイルにその画像を保存するときにその固定パレットも一緒に保存されるので、固有のパレット情報は失われます。

画像が24ビットまたは48ビットのビットマップの場合は、Reference Output Medium Metric (ROMM) BGRカラーエンコード方式の使用を指定できます。これは広い色再現範囲と拡張された色域を持つ出力基準のBGRカラーエンコード方式です。このエンコーディングは、デジタル画像を操って、保存して、送って、表示して、印刷するために、デジタル静止画像画像処理システムにより用いられます。ROMMは、sRGBとは異なり、色の範囲がCRTモニタに表示できる色に制限されません。また、e-sRGBとは異なり、負のRGB色座標を使用しません。

ROMMカラーオーダーは、CMP/JPEG/Exif JPEG/JTIF/TIFF CMPファイルフォーマットによってサポートされます。ROMMならびにRGBで表されることができないROMMで表されることができる色でなく、RGBで表されることができる色があるので、一方から他方へと変換するならば、カラースペースの1つだけで表されることができる色を失います。