7-1節では色の指定にclBlueという色定数を用いました。その他の代表的な色定数としては次のようなものがあります。 |
値 |
色 |
clAqua |
空色 |
clBlack |
黒色 |
clBlue |
青色 |
clGray |
灰色 |
clGreen |
緑色 |
clMaroon |
栗色 |
clNavy |
濃紺色 |
clPurple |
紫色 |
clRed |
赤色 |
|
値 |
色 |
clWhite |
白色 |
clYellow |
黄色 |
clBthFace |
ボタン面の色 |
clOlive |
黄緑色 |
clTeal |
暗青緑色 |
clSilver |
銀色 |
clLime |
濃緑色 |
clFuchsia |
赤紫色 |
|
これら色定数を用いればImageコンポーネント(のCanvasプロパティ)上のピクセルの色を指定する事ができます。ところがここで、「この程度の色数ではCG描画に不十分なのでは?」と疑問を持った人がいるのではないでしょうか?色定数は上の表以外にも30種類ほどありますが、それでも不十分である事には変わりありません。例えば青色と赤色を適当に混ぜた中間色を用いる事はできません。しかし、もちろんその心配はありません。実はC++BuilderにはTColor 型という、色を指定するための特別の型が用意されています。これは、16進数で色を表す型です。
説明は後回しにして前節の練習問題のプログラムを次のように修正してください。
作成したら実行してみましょう。Image上には、どんな色の点が現れましたか? また、プログラム中の「0X00000000」の部分を次のものに変更し、どんな色の点が現れるか確認してください。
(1) 0X00FF0000 (2) 0X0000FF00 (3) 0X000000FF
TColor型の数は、上で用いた通り16進数の8桁の数値からなり、下から2桁ずつが、それぞれ赤、緑そして青の輝度に対応します。
|
 |
上の例では、青が「FF (最大)」、緑が「00 (なし)」、赤が「00 (なし)」なので、純粋な青を表しています。これを「0X00FF00FF」などとすると、青だけでなく赤も「FF (最大)」になるので紫になります。この調子でそれぞれの色をうまく混ぜると綺麗な中間色も作ることができます。中間色の定義の仕方については次のコラムを参照してください。 |