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

FreeBASIC OrGfx

目次→描画ライブラリ参考→2次元 描画関数OR (graphics Put)←オリジナル・サイト

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

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

点描方法として、ビット単位の Or を使用する Put 描画命令文へのパラメタ

構文:
Put [ target, ] [ STEP ] ( x,y ), source [ ,( x1,y1 )-( x2,y2 ) ], Or

パラメタ:
Or
必要。

説明:
Or 方法は、ビット演算の Or 関数を使って、それぞれのソース画素を、対応するあて先画素に結合します。
この結果は、あて先画素として出力されます。
この方法は、すべての描画モードで使えます。
マスク色は、全くありません。色値 0 (フルカラー・モードでの RGBA(0、0、0、0))は、無効です。Or のふるまいです。
フルカラー・モードでは、各要素(赤、緑、青、アルファ)が、ビットの離散的なセットで保たれます。このため、特定のチャンネルだけに影響するように、操作することができます。確実にするため、他のすべてのチャンネルの値は、 0 に設定されます。

例:
注:FreeBASIC 1.08〜 で、SetEnviron を追加しなくても、日本語環境で描画画面が表示されるように改善されました。
' Sets the graphics method GDI
' 描画方法を GDI に設定
SetEnviron("fbgfx=GDI")

''描画画面を開けます
ScreenRes 320, 200, 16

''赤、緑、青の円を含む、3つのスプライト(sprite)を生成します
Const As Long r = 32
Dim As Any Ptr cr, cg, cb
cr = ImageCreate (r * 2 + 1, r * 2 + 1, RGBA(0, 0, 0, 0))
cg = ImageCreate (r * 2 + 1, r * 2 + 1, RGBA(0, 0, 0, 0))
cb = ImageCreate (r * 2 + 1, r * 2 + 1, RGBA(0, 0, 0, 0))
Circle cr, (r, r), r, RGB(255, 0, 0), , , 1, f
Circle cg, (r, r), r, RGB(0, 255, 0), , , 1, f
Circle cb, (r, r), r, RGB(0, 0, 255), , , 1, f

''3の異なった乗算器(multiplier)に、スプライト(sprite)を置きます
''中央で互いを重ね合わせるレベル」
Put (146 - r, 108 - r), cr, Or
Put (174 - r, 108 - r), cg, Or
Put (160 - r,  84 - r), cb, Or

''スプライト(sprite)によって使用されたメモリを解放します
ImageDestroy cr
ImageDestroy cg
ImageDestroy cb

''プログラムを閉じる前に待ちます
Sleep

イメージ
QB との違い:

参照:

2次元描画関数に戻る

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

ページ歴史:2023-07-09 04:21:24
日本語翻訳:WATANABE Makoto、原文著作者:CountingPine

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

表示-非営利-継承