Previous: 色を扱うための構造体
Up: 色を扱うための構造体
Next: カラーマップとピクセル番号
Previous Page: 色を扱うための構造体
Next Page: カラーマップとピクセル番号

一色ごとに XColor

最初に XColor構造体を説明しましょう。 XColor構造体はインクルード・ファイル X11/Xlib.h の中で、 次のようなメンバーからなるデータの集まりとして定義されています。

typedef  struct _XColor {
                         unsigned long  pixel;
                         unsigned short  red, green, blue;
                         char  flag;
                         char  pad;
                        }  XColor;

このうち、特に重要なメンバーがカラーマップの登録番号を記憶する pixelと 色の3成分の値 red, green, blue です。 ( flag は3原色いずれかの成分を一時的にマスクしたりするのに使用します。 今のところは操作する必要はありません。 pad は構造体のサイズを調整する隙間で特に用途は決っていません。)
XColor構造体の使い方を調べてみましょう。 XColor構造体のデータとして、例えば iro という変数を使いたいとします。 それには次のように宣言します。
XColor  iro;

これで色のデータを1色分記憶する領域がメモリー上に確保されたことになります。 この構造体のメンバーにデータの値を入れるには次のようにします。
iro.red = 20000;

これで色の3原色のうちの赤色成分の値を与えることができます。 他の成分についても同様です。 3つの値をうまく調整すれば、絵の具の色を混ぜて作るのと似た考え方で 色を作り出すことができます。 (それぞれの成分は short型ですから 0 - 65535の範囲の値で指定します。)

maruyama@wakhok.ac.jp
1995年02月01日 (水) 00時21分18秒 JST