FLOODFILLRGB, FLOODFILLRGB_W

グラフィックス関数:現在の RGB 色と塗り潰しマスクを使って領域を塗り潰します。

モジュールUSE DFLIB

形式

result = FLOODFILLRGB (x, y, color)
result = FLOODFILLRGB_W (wx, wy, color)

x, y
(入力) INTEGER(2)。塗り潰し開始点のビューポート座標。

wx, wy
(入力) REAL(8)。塗り潰し開始点のウィンドウ座標。

color
(入力) INTEGER(4)。境界色の RGB 色値。

結果

結果の型は INTEGER(2) です。成功すれば非ゼロが返され,そうでなければ 0 が返されます。0 が返されるのは,塗り潰しが完了できなかった場合,開始点が境界色 color を持つピクセル上にある場合,または,開始点がクリッピング領域外にある場合です。

FLOODFILLRGB は,ビューポート座標点 (x, y) から塗り潰しを開始します。FLOODFILLRGB_W は,ウィンドウ座標点 (wx, wy) から塗り潰しを開始します。FLOODFILLRGBFLOODFILLRGB_W が使用する塗り潰し色は,SETCOLORRGB で設定されます。現在の塗り潰し色は,GETCOLORRGB を呼び出すことで得ることができます。

開始点が図中にある場合,内部が塗り潰されます。開始点が図の外にある場合,背景が塗り潰されます。両方の場合,塗り潰し色は SETCOLORRGB で設定された現在の色です。開始点は図の中または外になければなりません。開始点は図自身の境界上にあってはいけません。塗り潰しはすべての方向で発生し,境界色 color のピクセルで停止します。

互換性

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

関連情報

ELLIPSEFLOODFILLGETCOLORRGBGETFILLMASKGRSTATUSPIESETCLIPRGNSETCOLORRGBSETFILLMASK

	! QuickWin または Standard Graphics アプリケーションでビルドします。
	USE DFLIB
	INTEGER(2) status
	INTEGER(4) result, bcolor
	INTEGER(2) x1, y1, x2, y2, xinterior, yinterior
	x1 = 80; y1 = 50
	x2 = 240; y2 = 150
	result = SETCOLORRGB(#008080) ! red
	status = RECTANGLE( $GBORDER, x1, y1, x2, y2 )
	bcolor = GETCOLORRGB( )
	result = SETCOLORRGB (#FF0000) ! blue
	xinterior = 160; yinterior = 100
	result = FLOODFILLRGB (xinterior, yinterior, bcolor)
	END