color mode
色を指定するのに,パレットを用いずに,色を表す24ビットの整数を直接用いるモードを用意した。パレットの個数の制約がなくなり,ASK PIXEL ARRAY および ASK PIXEL VALUEですべての色を取得できるようになる。JISとの相違は,SET COLOR MIXが無効となることのみ。
SET COLOR MODE 文字列式 文字列式の値は"NATIVE","REGULAR"のいずれか。 文字列値が"REGULAR"であると,パレットを用いる通常モード。 文字列値が"NATIVE"のとき,色指標として下位8ビットが赤,中位8ビットが緑,上位8ビットが青の強度を意味する24ビットの整数を用いるモードに移行する。 利用できる色指標の最大値は16777215。 SET COLOR MIXを実行すると,続行可能な例外
となる。 モード切り替え時,画面を消去しない。 color modeをnativeに切り換えるとき,背景色(clear文が使う色),line color,point color,area color, text colorを引き継ぐ。 逆に,color modeをregularに切り替えると,line color,point color,area color,text colorは 1 に設定される。
色指標を得る関数
COLORINDEX(
r,
g,
b)
r
,
g,
bは数値式
r
,
g,
bに,0以上1以下の数値で,赤,緑,青の強度を指定する。
結果は,指定した色の色指標。
color modeがREGULARのとき,指定された色がパレットにないと,-1。
例 青字で"Hello"を描く
10 SET COLOR MODE "NATIVE"
20 SET TEXT COLOR ColorIndex(0,0,1)
30 PLOT TEXT ,AT 0,0:"Hello"
40 END
(参考)色を16進数で指定したいときは,BVAL関数を用いる。
たとえば,青は,BVAL("FF0000",16)。
(注意)色を指定する整数のバイト構成が,HTMLと逆。
HTML
では上位バイトからRGBの順に指定するが,Windowsでは下位バイトからRGBの順。
<補足>
CLEAR文は,モード切替え前にSET COLOR MIX(0)で割り当てられた色で画面を塗りつぶす。