グラフィックス関数:REMAPALLPALETTERGB は,ビデオ・ハードウェアが認識する色指標に RGB 色値の組を再マップします。REMAPPALETTERGB は,1 色指標を RGB 色値に再マップします。
モジュール:USE DFLIB
形式
result = REMAPALLPALETTERGB (colors)
result = REMAPPALETTERGB (index, color)
colors
(入力) INTEGER(4)。色指標にマップする RGB 色値の配列。0 ~ 255 の要素を持たなければなりません。
color
(入力) INTEGER(4)。色指標に割り当てる RGB 色値。
index
(入力) INTEGER(4)。RGB 色値を再割り当てする色指標。
結果
結果の型は INTEGER(4) です。REMAPALLPALETTERGB は,成功であれば 0 を返し,そうでなければ -1 を返します。REMAPPALETTERGB は,色指標に以前割り当てられていた色を返します。
REMAPALLPALETTERGB 関数は,同時に利用可能な色指標 (最大 236。20 色指標がオペレーティング・システムで予約されています) のすべてを再マップします。colors 引数は,RGB 色値の配列を指しています。最初の 16 指標と色値間の基本マッピングは,以下の表に示されています。16 基本色は,シンボル定数 (\DF98\INCLUDE サブディレクトリの DFLIB.F90 に定義) で提供されています。
指標 | 色 | 指標 | 色 |
---|---|---|---|
0 | $BLACK | 8 | $GRAY |
1 | $BLUE | 9 | $LIGHTBLUE |
2 | $GREEN | 10 | $LIGHTGREEN |
3 | $CYAN | 11 | $LIGHTCYAN |
4 | $RED | 12 | $LIGHTRED |
5 | $MAGENTA | 13 | $LIGHTMAGENTA |
6 | $BROWN | 14 | $YELLOW |
7 | $WHITE | 15 | $BRIGHTWHITE |
現在のビデオ・モードがサポートする色数が 236 よりも少なければ,マップされる色数は 236 より少なくすることができますが,多くて 236 色が REMAPALLPALETTERGB でマップされます。多くの Windows グラフィックス・ドライバは,256K 色以上のパレットをサポートしております。その内の 2, 3 のみが同時に 236 パレット指標にマップすることができます。システム上のすべての色を参照し,使用するためには,パレットをバイパスし,SETCOLORRGB と SETPIXELSRGB のような RGB 色関数を使います。
どの RGB 色も 236 パレット指標にマップすることができます。そのため,赤の 236 の色合いでパレットを指定することができます。異なった色手続の使い方の詳細は,「色の追加」を参照してください。
各 RGB 色値では,3 色 (赤,緑,青) のそれぞれは 8 ビット値 (16 進の 2 桁) で表されます。REMAPALLPALETTERGB または REMAPPALETTERGB で指定する値では,赤が最も右のバイトで,その後,緑,青と続きます。RGB 値の内部構造は以下のとおりです。
最大値は,3 つの要素の各々のが最大の 2 進 1111111 (16 進 FF) の最大の色強度に対応します。たとえば,#0000FF は赤の最大強度,#00FF00 は緑の最大強度,#FF0000 は青の最大強度,#FFFFFF は 3 つすべての最大強度 (結果として明るい白) になります。
互換性
STANDARD GRAPHICS QUICKWIN GRAPHICS LIB
関連情報
SETBKCOLOR,SETBKCOLORRGB,SETCOLOR,SETCOLORRGB
例
! QuickWin または Standard Graphics アプリケーションでビルドします。 USE DFLIB INTEGER(4) colors(3) INTEGER(2) status colors(1) = #00FFFF ! 黄色 colors(2) = #FFFFFF ! 明るい白色 colors(3) = 0 ! 黒色 status = REMAPALLPALETTERGB(colors) status = REMAPPALETTERGB(INT2(47), #45A315) END