Graphics    

インデックス付きカラーシステム上でのトゥルーカラーのディザリング

概要

DithermapModemanualに設定すると現在のDithermapを使用し、autoに設定するとFigureに表示されているカラーに基づいて新しいDithermapを作成します。

詳細

MATLABでは、Figureのカラーマップにインデックス付けされる値の代わりに、CDataをRGBの3要素として設定することによって、トゥルーカラーシステム(24ビット表示)を利用することができます。インデックスカラーシステムは、 Dithermapプロパティに割り当てられたディザーマップ内の最も近いカラーに各カラーを写像することによってトゥルーカラーの設定を解釈します。MATLABはFloyd-Steinbergアルゴリズムを使って写像を実行します。

ディザーマップは、Figureのカラーマップ(この場合には使用しません)に置き換わるカラーマップです。デフォルトのディザーマップには、スペクトル全体からのカラーのサンプリングが含まれています。これによって、どのようなオブジェクトのカラーリングにおいても十分な品質が得られます。しかし、Figureに主に1カラーからなるオブジェクトが含まれている場合、同じカラーに集中したディザーマップのカラーの解像度は、さらによくなります。

自動ディザーモード

DithermapModeautoに設定すると、MATLABはFigureのカラーに基づいて自動的にディザーマップを作成します。MATLABは、最小分散量子化アルゴリズムを使って適切なディザーマップを作成しますが、処理には、時間がかかります。また、MATLABはFigureを再度レンダリングするたびにディザーマップを作り直します。

余分なレンダリング時間を避けるためには、MATLABがディザーマップを作成した後で、DithermapModemanual にリセットしてください。するとMATLABは、DithermapModeを再度autoに設定するまで、作り直すことなく、このディザーマップを使用します。Figureで使用するカラーを変更しない限り、ディザーマップを作り直す必要はありません。

Dithermapプロパティを変数に割り当て、それをMAT-ファイルとして保存することによって、ディザーマップを保存することができます。

MATLABが作成したディザーマップは、つぎのようにして保存することができます。

ディザーマップのサイズ

最高のカラーの解像度を得るために、デフォルトのディザーマップはシステムが許すかぎりの大きさになっています。これは、特定の数のスロットがシステムカラー用に予約されているため、通常256カラー以下です。また、MATLABの固定色はディザーマップによって上書きされません。

ディザリングの効果

6ピクセルのグループ単位でカラーを写像するため、表示されるグラフィックスの解像度はディザリングにより低下します。たとえば、1ピクセルのカラーをオレンジとして定義したとしても、ディザーマップはこのカラーをもっていません。MATLABは、6ピクセルグループをまとめてオレンジカラーを近似するカラーの組み合わせをディザーマップから選択します。


 アクティブでないFigureと共有のカラー 描画法の選択