| Graphics | ![]() |
概要
ShareColors をonに設定するとリソースを保存し、offに設定すると迅速なカラーマップの変更を可能にします。
詳細
アクティブでないFigureも可視状態なので、正しくカラーリングして表示することが一般に望まれます。しかし、異なるカラーマップをもつ多数のFigureが同時に存在する場合、あるいは大きなカラーマップをもっている場合、コンピュータのカラーリソースは、すべてのFigureを正しくカラーリングして表示することはできない場合があります。ShareColorsがonの場合、そのカラーがすでに存在していれば、Figureはシステムカラーテーブルのカラーを再定義しません。
カラーを共有することで、より効率的にリソースが利用されますが、この場合、MATLABは(たとえば、関数spinmapのようには)カラーマップを迅速に変更することができません。これは、それらのカラーを定義するためのスロットを他のピクセルが指し示す場合、MATLABはシステムカラーテーブルのカラースロットの値を変更することができないからです。新しいカラーに対して、MATLABは別のスロットを探さなければなりません。カラースロットピクセルの割り当てを変更するには、変更しようとするカラーマップのFigureの再レンダリング(すなわち、カラーの値を再計算し、これらのカラーにピクセルを再度割り当てること)が必要になります。
Figureのカラーマップを迅速に変更したい場合、つぎのようにしてカラーの共有を無効にしてください。
set(fig_handle,'ShareColors','off')
新しいカラーマップは、Figureの再レンダリングを避けるためにオリジナルのカラーマップと同じサイズでなければならないことに注意してください。この技法の例についてはM-ファイルspinmap を参照してください。
| 多数のカラーの使用 | インデックス付きカラーシステム上でのトゥルーカラーのディザリング | ![]() |