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

FreeBASIC AndGfx

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

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

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

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

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

パラメタ:
And
必要。

説明:
And 方法は、ビット演算の And 関数を使って、それぞれのソース画素を、対応するあて先画素と、結合します。
この結果は、あて先画素として出力されます。
この方法は、すべての描画モードで使えます。
マスク色はありません。色値 (8ビット・パレットモードの255、またはフルカラー・モードでの RGBA(255, 255, 255, 255))は、無効です。And のふるまいです。

フルカラー・モードでは、各要素(赤、緑、青、アルファ)は、ビットの離散的なセットで保たれます。このため、特定のチャンネルだけに影響するように、操作することができます。確実にするため、他のすべてのチャンネルの値は、255 に設定されます

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

''描画画面を開けます
ScreenRes 320, 200, 16
Line (0, 0)-(319, 199), RGB(255, 255, 255), bf

''シアン、マゼンタ、黄色の円を含む、3つのスプライト(sprite)を生成します
Const As Integer r = 32
Dim As Any Ptr cc, cm, cy
cc = ImageCreate (r * 2 + 1, r * 2 + 1, RGBA(255, 255, 255, 255))
cm = ImageCreate (r * 2 + 1, r * 2 + 1, RGBA(255, 255, 255, 255))
cy = ImageCreate (r * 2 + 1, r * 2 + 1, RGBA(255, 255, 255, 255))
Circle cc, (r, r), r, RGB(0, 255, 255), , , 1, f
Circle cm, (r, r), r, RGB(255, 0, 255), , , 1, f
Circle cy, (r, r), r, RGB(255, 255, 0), , , 1, f

''中央で互いを重ね合わせて、3つのスプライト(sprite)を置きます
Put (146 - r, 108 - r), cc, And
Put (174 - r, 108 - r), cm, And
Put (160 - r,  84 - r), cy, And

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

''プログラムを閉じる前にポーズします
Sleep

イメージ
QB との違い:

参照:

2次元描画関数に戻る

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

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

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

表示-非営利-継承