グラフィックス・サブルーチン:指定した RGB 値を複数のピクセルに設定します。
モジュール:USE DFLIB
形式
CALL SETPIXELSRGB (n, x, y, color)
n
(入力) INTEGER(4)。設定するピクセル数。他の引数の要素数を指定します。
x, y
(入力) INTEGER(2)。設定するピクセルのビューポート座標を含む並行配列。
color
(入力) INTEGER(4)。ピクセルに設定する RGB 色指を含む配列。範囲と結果はシステムのディスプレイ・アダプタに依存します。
SETPIXELSRGB は,color の RGB 色値を配列 x と y に指定されるピクセルに設定します。これらの配列は平行です。3 つの配列の各第 1 要素は第 1 ピクセルを参照し,第 2 要素は次のピクセルを参照します。
各 RGB 色値では,3 つの色,赤,緑,青のそれぞれは 8 ビット値 (2 つの 16 進数) で表されます。SETPIXELSRGB で指定した値は,赤が最も右のバイトで続いて緑,青の順になります。RGB 色値の内部構造は以下のとおりです。
最大値は,3 つの要素の各々のが最大の 2 進 1111111 (16 進 FF) の最大の色強度に対応します。たとえば,#0000FF は赤の最大強度,#00FF00 は緑の最大強度,#FF0000 は青の最大強度,#FFFFFF は 3 つすべての最大強度 (結果として明るい白) になります。
SETPIXELSRGB のよい使い方は,SETPIXELRGB のバッファリング形式としてです。これにより十分な性能の向上が得られます。以下の例では,この方法を示しています。
ピクセルがクリッピング領域外にある場合,それらのピクセルは無視されます。1 よりも小さい n で SETPIXELSRGB を呼び出すと,これも無視されます。
SETPIXELSRGB (と他の SETPIXELRGB と SETCOLORRGB のような RGB 色選択関数) は,全利用可能範囲から選択された値に色を設定します。非 RGB 色関数 (SETPIXELS と SETCOLOR) は,True Color 値ではなく色指標を使います。
色指標を使う場合,パレットで利用可能な色に制限されます。最大で 256 色です。幾つかのディスプレイ・アダプタ (SVGA または True Color) は 262,144 (256K) 色以上を作成する機能を持っています。すべての利用可能な色を参照するには,非 RGB 色関数でパレット指標を指定するのではなく,RGB 色関数で明示的に RGB 色値を指定する必要があります。
互換性
STANDARD GRAPHICS QUICKWIN GRAPHICS LIB
関連情報
GETPIXELRGB,GETPIXELSRGB,SETPIXELRGB,SETPIXELS
例
! QuickWin または Standard Graphics アプリケーションでビルドします。 ! SetPixelRGB と SetPixelRGB_W のバッファリング置き換え。 ! これは,ピクセル処理の性能を向上します。 USE DFLIB PARAMETER (I$SIZE = 200) INTEGER(4) bn, bc(I$SIZE), status INTEGER(2) bx(I$SIZE),by(I$SIZE) bn = 0 DO i = 1, I$SIZE bn = bn + 1 bx(bn) = i by(bn) = i bc(bn) = GETCOLORRGB() status = SETCOLORRGB(bc(bn)+1) END DO CALL SETPIXELSRGB(bn,bx,by,bc) END