Graphics    

アクティブでないFigureと共有のカラー

概要

ShareColorsonに設定するとリソースを保存し、offに設定すると迅速なカラーマップの変更を可能にします。

詳細

アクティブでないFigureも可視状態なので、正しくカラーリングして表示することが一般に望まれます。しかし、異なるカラーマップをもつ多数のFigureが同時に存在する場合、あるいは大きなカラーマップをもっている場合、コンピュータのカラーリソースは、すべてのFigureを正しくカラーリングして表示することはできない場合があります。ShareColorsonの場合、そのカラーがすでに存在していれば、Figureはシステムカラーテーブルのカラーを再定義しません。

カラーを共有することで、より効率的にリソースが利用されますが、この場合、MATLABは(たとえば、関数spinmapのようには)カラーマップを迅速に変更することができません。これは、それらのカラーを定義するためのスロットを他のピクセルが指し示す場合、MATLABはシステムカラーテーブルのカラースロットの値を変更することができないからです。新しいカラーに対して、MATLABは別のスロットを探さなければなりません。カラースロットピクセルの割り当てを変更するには、変更しようとするカラーマップのFigureの再レンダリング(すなわち、カラーの値を再計算し、これらのカラーにピクセルを再度割り当てること)が必要になります。

Figureのカラーマップを迅速に変更したい場合、つぎのようにしてカラーの共有を無効にしてください。

新しいカラーマップは、Figureの再レンダリングを避けるためにオリジナルのカラーマップと同じサイズでなければならないことに注意してください。この技法の例についてはM-ファイルspinmap を参照してください。


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