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

FreeBASIC Draw

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

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

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

連続して画素を打点するための命令文

構文:
Draw [target,] cmd

パラメタ:
target
描画するバッファ
cmd
コマンドの順番を含む文字列

説明:
 描画は、SCREENSET を通して、現在、作業中のページ・セットに対して行われます。あるいは、指定されている、 target Get (描画)/Put バッファに対して行われます。

 複数の描画命令を一気に発行するのに、Draw 命令文を使用できます。
 すばやく図形を描くのに役立ちます。
 コマンド文字列は、以下のコマンドを受け入れます:

画素をプロットする命令:
命令  内容

画素をプロットする命令:
B任意の接頭語:動くが、描画しない。
N任意の接頭語:描くが、動かない。
M x,y 指定されたスクリーンの位置に移動します。 '+' か '-' の符合が、x の前に付くと、 動きは現在のカーソル位置からの相対座標になります。 符合は、yの前に付けると、無効です。
U [n]nユニット、上に移動。 nを省略すると、1移動します。
D [n]nユニット、下に移動。 nを省略すると、1移動します。
L [n]左に、nユニット移動。 nを省略すると、1移動します。
R [n]右に、nユニット移動。 nを省略すると、1移動します。
E [n]nユニット、右上に移動。 nを省略すると、1移動します。
F [n]nユニット、右下に移動。 nを省略すると、1移動します。
G [n]nユニット、左下に移動。 nを省略すると、1移動します。
H [n]nユニット、左上に移動。 nを省略すると、1移動します。

着色する命令:
C n現在の前景色を、nに変えます。
P p,b枠線色bの領域を、色pで、塗りつぶします。

比率と、回転のコマンド:
S n現在のユニットの長さ(デフォルトは4)をセットします。 ユニット長4は、1画素と等しい値です。
A nn*90度回転します。(nは0〜3の範囲)
TA nn度回転します。(nは、0〜359の範囲)

余分なコマンド:
X ppでコマンドを実行します。そこでは、pがSTRING PTRです。

色、サイズ、角度を設定する命令は、その後のすべての Draw 操作に影響します。

Draw は、View (Graphics) 命令文で設定された現在のクリッピング領域を尊重しますが、その座標は、カスタム座標系の影響を受けません。

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

'画面モードを、320*200、256色に設定します
Screen 13

'描画せずに (50,50) に移動します
Draw "BM 50,50"

'描画色を 2 (緑) にします
Draw "C2"

'箱を描きます
Draw "R50 D30 L50 U30"

'箱の中に移動します
Draw "BM +1,1"

'境界色 2 のところまで、色 1 (青) で塗りつぶします
Draw "P 1,2"

Sleep


image

' Sets the graphics method GDI
' 描画方法を GDI に設定
SetEnviron("fbgfx=GDI")

'' 画面に花を描きます

Dim As Integer i, a, c
Dim As String fill, setangle

'' それぞれの花びら(petal)の形
Dim As Const String petal = _
    _
    ("X" & VarPtr(setangle)) _ '' 角度設定(angle-setting)の文字列にリンク
    _
    & "C15" _       '' 輪郭の色 (白) を設定
    & "M+100,+10" _ '' 輪郭を描画
    "M +15,-10" _
    "M -15,-10" _
    "M-100,+10" _
    _
    & "BM+100,0" _              '' 花びらの中に移動
    & ("X" & VarPtr(fill)) _    '' 花びらを塗りつぶす (塗りつぶしの文字列にリンクして)
    & "BM-100,0"                '' 外に戻ります


'' 画面を設定します
ScreenRes 320, 240, 8

'' 中心に移動します
Draw "BM 160, 120"

'' 角度と色番号の初期値を設定します
a = 0: c = 32

For i = 1 To 24

    '' 角度を設定して塗りつぶす命令文字列を作ります。
    setangle = "TA" & a
    fill = "P" & c & ",15"

    '' 角度を設定して塗りつぶす文字列にリンクして、花びらの形を描きます
    Draw petal
   
    '' 少し遅延を掛けます。この行をコメント・アウトしたり、数字を小さくしてみて下さい
    Sleep 100

    '' 角度と色番号を増分します
    a += 15: c += 1

Next i

Sleep


イメージ

QB との違い:

参照:

2次元描画関数に戻る

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

ページ歴史:2018-08-22 11:24:33
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

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

表示-非営利-継承