REMAPALLPALETTERGB, REMAPPALETTERGB

グラフィックス関数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 パレット指標にマップすることができます。システム上のすべての色を参照し,使用するためには,パレットをバイパスし,SETCOLORRGBSETPIXELSRGB のような 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

関連情報

SETBKCOLORSETBKCOLORRGBSETCOLORSETCOLORRGB

	! 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