点描方法として、ビット演算
Xor を使用する
Put 描画命令文へのパラメタ
構文:
Put [ target, ] [ STEP ] ( x,y ), source [ ,( x1,y1 )-( x2,y2 ) ], Xor
パラメタ:
説明:
Xor 方法は、ビット演算
Xor 関数を使って、ソースのそれぞれの画素を、対応するあて先画素に結合します。
この結果は、あて先画素として出力されます。
この方法は、すべての描画モードで使えます。
マスク色はありません。色値
0 (フルカラー・モードでの
RGBA(0、0、0、0))は、無効です。
Xor のふるまいです。
フルカラー・モードでは、各要素(赤、緑、青、アルファ)は、ビットの離散的なセットで保たれます。このため、特定のチャンネルだけに影響するように、操作することができます。確実にするため、他のすべてのチャンネルの値は、 0 に設定されます。
例:
注:FreeBASIC 1.08〜 で、SetEnviron を追加しなくても、日本語環境で描画画面が表示されるように改善されました。
' Sets the graphics method GDI
' 描画方法を GDI に設定
SetEnviron("fbgfx=GDI")
''描画画面を開けます
ScreenRes 320,
200,
16
''円を含むスプライト(sprite)を生成します
Const As Integer r =
32
Dim c
As Any Ptr =
ImageCreate
(r *
2 +
1, r *
2 +
1,
0)
Circle c,
(r, r
), r,
RGBA(255,
255,
255,
0), , ,
1, f
''3つのスプライト(sprite)を、中央で互いを重ね合わせて、置きます
Put (146 - r,
108 - r
), c,
Xor
Put (174 - r,
108 - r
), c,
Xor
Put (160 - r,
84 - r
), c,
Xor
''スプライト(sprite)で使われたメモリを、解放します
ImageDestroy c
''プログラムを閉じる前に、キー入力を待ちます
Sleep
QB との違い:
参照: