FreeBASIC マニュアルのトップに戻る

FreeBASIC RGB

目次→描画ライブラリ参考→2次元 描画関数RGB←オリジナル・サイト

RGB 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

 ハイカラー/トゥルーカラー・モードの、有効な色の値を扱います。

構文:
fbc version < 1.08:
#define RGB(r,g,b) ((culng(r) shl 16) or (culng(g) shl 8) or culng(b) or &hFF000000)
fbc version >= 1.08:
#define RGB(r,g,b) culng((cubyte(r) shl 16) or (cubyte(g) shl 8) or cubyte(b) or (&hFF000000ul))

用法:
result = RGB (red, green, blue)

パラメタ:
red
赤色成分の値
green
緑色成分の値
blue
青色成分の値

戻り値:
結合した色。

説明:
 赤色red、緑色green、青色blue は、0255 の値の範囲の要素です。

RGB 関数を使って、hi/truecolor モードで使うための有効な色の値を計算できます。
fbc バージョン < 1.08 の場合は符号のない整数(integer)を、fbc バージョン >= 1.08 の場合は符号のない long を &hAARRGGBB の形式で返します。ここで、RR, GG, BB は、この関数に渡される16進形式の値になります。
AA は暗黙のアルファ値で、自動的に &hFF (不透明)に設定されます。
AndShr を組み合わせて使うと、色の値から赤、緑、青、アルファの値を取得することができます。
下の2番目の例は、これを行うために #Define と、マクロを使う方法を示しています。

Windows APIプログラマのための注意:
 Windows 参照のマクロ名 RGB は、Windows プラットホームでの紛らわしさを避けるために、FBヘッダーでは、BGR に改名されました。

例:
 さらに、Put (描画)の例を見てください。

注: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 '終了まで待たせます。


バージョン: 方言差:

QBとの違い:
参照:

 描画予約語一覧

2次元 描画関数に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2021-10-13 05:59:51
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

ホームページのトップに戻る

表示-非営利-継承