GETPIXELRGB, GETPIXELRGB_W

グラフィックス関数:指定した位置のピクセルの RGB 色値を返します。

モジュールUSE DFLIB

形式

result = GETPIXELRGB (x, y)
result = GETPIXELRGB_W (wx, wy)

x, y
(入力) INTEGER(2)。ピクセル位置のビューポート座標。

wx, wy
(入力) REAL(8)。ピクセル位置のウィンドウ座標。

結果

結果の型は INTEGER(2) です。成功すれば,結果は RGB 色値です。そうでなければ -1 (たとえば,ピクセルがクリッピング領域外にある場合) です。

各 RGB 色値では,3 つの色,赤,緑,青のそれぞれは 8 ビット値 (2 つの 16 進数) で表されます。GETBKCOLORRGB で取り出した値は,赤が最も右のバイトで続いて緑,青の順になります。RGB 色値の内部構造は以下のとおりです。

最大値は,3 つの要素の各々のが最大の 2 進 1111111 (16 進 FF) の最大の色強度に対応します。たとえば,#0000FF は赤の最大強度,#00FF00 は緑の最大強度,#FF0000 は青の最大強度,#FFFFFF は 3 つすべての最大強度 (結果として明るい白) になります。

GETPIXELRGB は,ピクセルの True Color 値を返します。この値は,SETPIXELRGBSETCOLORRGBSETBKCOLORRGB,または SETTEXTCOLORRGB で設定されます。これは,ピクセルの位置と現在の画面の構成に依存します。

SETPIXELRGB (と他の SETCOLORRGBSETBKCOLORRGBSETTEXTCOLORRGB のような RGB 色選択関数) は,全利用可能範囲から選択された値に色を設定します。非 RGB 色関数 (SETPIXELSSETCOLORSETBKCOLOR,および SETTEXTCOLOR) は, True Color 値ではなく色指標を使います。色指標を使う場合,パレットで利用可能な色に制限されます。最大で 256 色です。幾つかのディスプレイ・アダプタ (SVGA または True Color) は 262,144 (256K) 色以上を作成する機能を持っています。すべての利用可能な色を参照するには,非 RGB 色関数でパレット指標を指定するのではなく,RGB 色関数で明示的に RGB 色値を指定する必要があります。

互換性

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

関連情報

GETPIXEL, GETPIXEL_WGETPIXELSRGBSETPIXELRGBSETPIXELSRGB

	! QuickWin または Standard Graphics アプリケーションでビルドします。
	USE DFLIB
	INTEGER(4) pixcolor, rseed
	INTEGER(2) status
	REAL rnd1, rnd2
	LOGICAL(4) winstat
	TYPE (windowconfig) wc
	CALL GETTIM (status, status, status, INT2(rseed))
	CALL SEED (rseed)
	CALL RANDOM (rnd1)
	CALL RANDOM (rnd2)
	!  ランダムなピクセルの色指標を得ます。ウィンドウで規格化します。
	!  現在の色をそのピクセル色に設定します。
	winstat = GETWINDOWCONFIG(wc)
	xnum = wc%numxpixels
	ynum = wc%numypixels
	pixcolor = GETPIXELRGB( INT2( rnd1*xnum ), INT2( rnd2*ynum ))
	status = SETCOLORRGB (pixcolor)
	END