ハイカラー/トゥルーカラー・モードの、有効な色の値を扱います。
構文:
fbc version < 1.08:
fbc version >= 1.08:
用法:
result = RGB
(red, green, blue)
パラメタ:
red
赤色成分の値
green
緑色成分の値
blue
青色成分の値
戻り値:
結合した色。
説明:
赤色red、緑色green、青色blue は、0〜255 の値の範囲の要素です。
RGB 関数を使って、hi/truecolor モードで使うための有効な色の値を計算できます。
fbc バージョン < 1.08 の場合は符号のない整数(integer)を、fbc バージョン >= 1.08 の場合は符号のない long を
&hAARRGGBB の形式で返します。ここで、
RR,
GG,
BB は、この関数に渡される16進形式の値になります。
AA は暗黙のアルファ値で、自動的に
&hFF (不透明)に設定されます。
And と
Shr を組み合わせて使うと、色の値から赤、緑、青、アルファの値を取得することができます。
下の2番目の例は、これを行うために
#Define と、マクロを使う方法を示しています。
Windows APIプログラマのための注意:
Windows 参照のマクロ名 RGB は、Windows プラットホームでの紛らわしさを避けるために、FBヘッダーでは、BGR に改名されました。
例:
注:FreeBASIC 1.08〜 で、SetEnviron を追加しなくても、日本語環境で描画画面が表示されるように改善されました。
' Sets the graphics method GDI
' 描画方法を GDI に設定
SetEnviron("fbgfx=GDI")
ScreenRes 640,
480,
32 '32 bit color
Line(0,
0)-
(319,
479),
RGB(255,
0,
0) '明るい赤色の箱を、画面の左側に描きます。
Line(639,
0)-
(320,
479),
RGB(0,
0,
255) '画面の右側に、明るい青色の箱を描きます。
Sleep '終了まで待たせます。
''赤色、緑色、青色、およびアルファー値の、設定と、取得
#define RGBA_R( c )
( Culng( c ) Shr 16 And 255 )
#define RGBA_G( c )
( Culng( c ) Shr 8 And 255 )
#define RGBA_B( c )
( Culng( c ) And 255 )
#define RGBA_A( c )
( Culng( c ) Shr 24 )
Dim As UInteger r, g, b, a
Dim As UInteger col = RGB
(128, 192, 64)
Dim As UByte r, g, b, a
Dim As ULong col = RGB(128, 192, 64)
Print Using "Color:
_
&H\ \";
Hex
(col, 8)
r = RGBA_R
( col )
g = RGBA_G
( col )
b = RGBA_B
( col )
a = RGBA_A
( col )
Print
Print Using "Red:
_
&H\\ = ###";
Hex(r, 2);
r
Print Using "Green:
_
&H\\ = ###";
Hex(g, 2);
g
Print Using "Blue:
_
&H\\ = ###";
Hex(b, 2);
b
Print Using "Alpha:
_
&H\\ = ###";
Hex(a, 2); a
Sleep '終了まで待たせます。
バージョン:
方言差:
- -lang qb 方言では、別名 __Rgb とともに参照を付けないと、使えません。
QBとの違い:
参照:
描画予約語一覧