主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

カラーマップとトゥルーカラーの違い

表面,パッチ,イメージなどの多くのグラフィックスオブジェクトでは,色を指定する手法として,カラーマップ(インデックス付きカラーを使用)とトゥルーカラーの2種類がサポートされています。各手法には異なるワークフローがあり,視覚的表現に異なる影響を与えます。

ワークフローの違い

カラーマップはm行3列の配列であり,各行でRGB 3成分を指定します。グラフィカル表現でカラーマップを使用するには,グラフィックスのそれぞれの位置にインデックスを割り当てます。各インデックスは,グラフィックス内の指定した場所に色を表示するためにカラーマップの行を指定します。一方,トゥルーカラーを使用する場合,グラフィックス内のすべての場所にRGB 3成分を指定します。

どちらの手法を使用するかを決めるときには,次のいくつかの点について検討します。

  • トゥルーカラーはより直接的です。グラフィックスの特定の場所に、特定の赤、緑、青の値を割り当てる場合は、通常、トゥルーカラーを使用して行う方が簡単です。

  • カラーパレットの領域内での変更は,カラーマップで行う方が簡単です。たとえば,青から緑へのグラデーションの遷移を明るくする場合,カラーマップでそれらの行を編集する方が,グラフィックスの個々の位置の色を編集するよりも簡単です。

  • データの形式,がいずれかのワークフローの方に,より適している可能性があります。たとえば,圧縮されたGIFイメージの多くはインデックス付きカラーを使用して保存されます。

どちらのカラーリング手法でも,色配列Cを使用して色の情報を指定します。Cの形状は,グラフィックスオブジェクトのタイプや選択したカラーリングの方法によって異なります。次の表は,相違点をまとめています。

グラフィックスオブジェクトのタイプ 色配列Cを含むプロパティ インデックス付きカラーのCの形状 トゥルーカラーのCの形状
表面 CData Cはm行n列の配列で,z座標配列と同じサイズです。C (i, j)の値は,Z (i, j)のカラーマップインデックスを指定します。 Cはm x n x 3配列であり,C(:,:,我)はz座標配列と同じサイズです。

C (i, j, 1)Z (i, j)の赤の成分を指定します。

2 C (i, j)Z (i, j)の緑の成分を指定します。

3 C (i, j)Z (i, j)の青の成分を指定します。
图像 CData Cはm行n列のイメージに対するm行n列の配列です。C (i, j)の値は,ピクセル(i, j)のカラーマップインデックスを指定します。 Cはm行n列イメージのm x n x 3配列です。

C (i, j, 1)は,ピクセル(i, j)の赤の成分を指定します。

2 C (i, j)は,ピクセル(i, j)の緑の成分を指定します。

3 C (i, j)は,ピクセル(i, j)の青の成分を指定します。
补丁(x, y, z) CData パッチ面に色を指定する場合,Cは,m個のパッチ面に対する1行m列配列です。C(我)は,面のカラーマップインデックスを指定します。

パッチの頂点に色を指定する場合,Cはm行n列配列であり,mは面ごとの頂点の数で,nは面の数です。C (i, j)は面jの頂点のカラーマップインデックスを指定します。
パッチ面に色を指定する場合,Cはm個のパッチ面に対するm行3列配列です。C(我,:)は,面の赤、緑および青の値を指定します。

パッチの頂点に色を指定する場合,Cはn行3列配列であり,nは頂点の合計数です。C(我,:)は,頂点の赤、緑および青の値を指定します。
补丁(面-頂点データ) FaceVertexCData パッチ面に色を指定する場合,Cはm個のパッチ面に対する1行m列配列です。C(我)は面のカラーマップインデックスを指定します。

パッチの頂点に色を指定する場合,Cは1行n列配列であり,nは頂点の合計数です。C(我)は,頂点のカラーマップインデックスを指定します。
パッチ面に色を指定する場合,Cはm個のパッチ面に対するm行3列配列です。C(我,:)は,面の赤、緑および青の値を指定します。

パッチの頂点に色を指定する場合,Cはn行3列配列であり,nは頂点の合計数です。C(我,:)は,頂点の赤、緑および青の値を指定します。

視覚的表現の違い

カラーマップは,m色のパレットを提供します(mはカラーマップの長さ)。一方,トゥルーカラーは,256×256×256≈1.68百万色のカラーパレットを提供します。

必要なカラーパレットの大きさを決定するときには,次の要素について考慮してください。

  • 大きな領域を単色で塗りつぶすには,小さなカラーパレットが最も効率的な方法です。また,表面の輪郭を可視化する場合にも役に立ちます。

  • カラーパレットが大きくなるほど,遷移が精細になり,色のグラデーションが滑らかになります。

インデックス付きカラーとトゥルーカラーの差がより顕著になる状況の1つとして,パッチ面全体への頂点の色の内挿があります。2次のつのパッチは,極端な例を表しています。左側のパッチは小さなカラーマップを使用しているのに対して,右側のパッチはトゥルーカラーを使用しています。

カラーマップのパレットの色数が限られていることに懸念がある場合は,さらに色を追加できます。カラーマップを使用したカラースキームの変更は,特定の色数のカラーマップを使用する方法について説明しています。

関連するトピック