[COLOR(1)]コマンド
Display画面の各部の色、およびグラフィック画面のパレットモードを指定します。
文法 COLOR [<ファンクションコード>][,<バックグラウンドカラー>]
[,<ボーダーカラー>][,<フォアグラウンドカラー>][,<パレットモード>]
文例 COLOR 7, 0, 0, 7
COLOR(1)はテキスト画面の文字の色を変えたり、グラフィック画面のフォアグラウンド、
バックグラウン、ボーダーの各カラーを設定したり、グラフィック画面のパレットモードを指定
したりするのに使用します。
<ファンクションコード>
テキスト画面の文字の色を指定します。これは "パレット番号" とは異なり、
[COLOR(2)] コマンドによるカラーパレットの変更により色は
変化しません。
コード内容は次のとうりです。
0 黒 1 青 2 赤 3 紫
4 緑 5 水色 6 黄 7 白
<バックグラウンドカラー>
グラフィック画面の地の色を指定します。このパラメータは "パレット番号" に従います。
[COLOR(2)]コマンド参照。
CLS命令により、画面はこの設定色で塗り替えられます。
<ボーダーグラウンドカラー>
画面の外枠の色を指定します。このパラメータは次のとうりです。
0 黒 1 青 2 赤 3 紫
4 緑 5 水色 6 黄 7 白
<フォアグラウンドカラー>
グラフィック画面の点や線の色を指定します。このパラメータは "パレット番号" に従います。
[COLOR(2)] コマンド参照。
種々のグラフィック命令([PSET] 、[LINE] 、
[CIRCLE] など)
で色指定をしなかった場合、このフォアグラウンドカラーを用います。
<パレットモード>
グラフィック画面に対する色指定のモードを設定します。
このパラメータは次のとうりです。
0 8色中より8色モード
8個のパレットにSystemの決めた8色を対応させます。
1 4096色中より8色モード
8個のパレットに4096色より任意の8色を選び対応させます。
2 4096色中より16色モード
16個のパレットに4096色より任意の8色を選び対応させます。
[注意]
各部分のデータが空白の場合、現在値のままとなります。
COLOR ,5 の場合、バックグラウンドカラーだけを水色に変えます。
このあとCLSを実行した時点で背景が水色で塗りつぶされます。
[注意] MBASIC86の起動直後(Default)のパレットモードは 0の 8色中より8色モードです。
次のファイルを開いても[COLOR(1)]コマンドで変えない限り、
パレットモードに変わりはありません。
パレットとカラーコードの対応つけは[COLOR(2)] コマンドで行います。
ただし、<パレットモード>の指定直後の対応関係は次のように初期化されています。
パレットモード0:
|
8色中より8色モード
|
パレットモード1:
|
4096色中より8色モード
|
[パレット番号]
|
[カラーコード]
|
[パレット番号]
|
[カラーコード]
|
0
|
0(黒)
|
0
|
&H000(黒)
|
1
|
1(明るい青)
|
1
|
&H00F(明るい青)
|
2
|
2(明るい赤)
|
2
|
&H0F0(明るい赤)
|
3
|
3(明るい紫)
|
3
|
&H0FF(明るい紫)
|
4
|
4(明るい緑)
|
4
|
&HF00
(明るい緑)
|
5
|
5(明るい水色)
|
5
|
&HF0F(明るい水色)
|
6
|
6(明るい黄)
|
6
|
&HFF0(明るい黄)
|
7
|
7(白)
|
7
|
&HFFF(白)
|
|
|
|
|
パレットモード2:
|
4096色中より16色モード
|
|
|
[パレット番号]
|
[カラーコード]
|
[パレット番号]
|
[カラーコード]
|
0
|
&H000(黒)
|
8
|
&H777(灰色)
|
1
|
&H00F(明るい青)
|
9
|
&H00A(暗い青)
|
2
|
&H0F0(明るい赤)
|
10
|
&H0A0(暗い赤)
|
3
|
&H0FF(明るい紫)
|
11
|
&H0AA(暗い紫)
|
4
|
&HF00(明るい緑)
|
12
|
&HA00(暗い緑)
|
5
|
&HF0F(明るい水色)
|
13
|
&HA0A(暗い水色)
|
6
|
&HFF0(明るい黄)
|
14
|
&HAA0(暗い黄)
|
7
|
&HFFF(白)
|
15
|
&HAAA(暗い白)
|
[注意]このカラーコードは12ビットのGRB順のコードであり、
24ビットのWINDOWSのRGB順のコードとは異なっています。
サンプル
10 CLS
20 COLOR 7, 0, , 7, 0
30 PRINT "Color is white."
40 CIRCLE (100,100),100
この例では、文字は白色、円(中心(100,100)、半径100)も白色です。
サンプル
10 CLS
20 COLOR 6, 0, , 15, 2
30 PRINT "Color is bright_yellow."
40 CIRCLE (100,100),100
50 COLOR=(6,&HAA8)
60 CIRCLE (200,100),100,6
70 PRINT "Color is bright_yellow."
この例では、文字は明るい黄色、円(中心(100,100)、半径100)は4096色中16色ですが、
初期値のフォアカラー15で暗い白色です。
円(中心(200,100)、半径100)は4096色中 16色の変色した6番で、
暗い黄色に少し青が入っています。
テキスト(文字)の色の6番はパレットとは別で、Systemの指定した8色と決められています。
行番号30と70のPrint文はSystemの指定した8色中の6番です。