グラフィックス・サブルーチン:メモリーに保存されたイメージを画面に転送します。
モジュール:USE DFLIB
形式
CALL PUTIMAGE (x, y, image, action)
CALL PUTIMAGE_W (wx, wy, image, action)
x, y
(入力) INTEGER(2)。画面上に置く時のイメージの左上隅のビューポート座標。
wx, wy
(入力) REAL(8)。画面上に置く時のイメージの左上隅のウィンドウ座標。
image
(入力) INTEGER(1)。1 バイト整数の配列。保存したイメージ・バッファ。
action
(入力) INTEGER(2)。既存の画面イメージと保存したイメージの相互作用。以下のシンボル定数 (\DF98\INCLUDE サブディレクトリの DFLIB.F90 に定義) の 1 つを使うことができます。
$GAND - 保存したイメージと既存の画面イメージの論理 AND として新しい画面表示を形成します。保存したイメージと既存の画面イメージの両方で同じ色を持つ点は,同じ色で残りますが,異なった色をもつ点は論理 AND で結合されます。
$GOR - 既存の画面イメージに保存したイメージを重ね書きします。結果のイメージは,イメージの論理 OR です。
$GPRESET - データを点単位に画面に転送します。イメージが負のイメージを作成する GETIMAGE で画面から作成された場合,各点はイメージが持つ色属性の逆を持っています。
$GPSET - データを点単位で画面に転送します。イメージが GETIMAGE で画面から作成された場合,各点はイメージが持つ色属性とまったく同じものになります。
$GXOR - 保存したイメージに点があるかどうかに関係なく,既存の画面イメージの点を逆にします。この動作は,カーソルの描画に似ています。背景とイメージの排他的 OR を 2 度実行すると,背景は変更なしで保存されます。これにより,背景を消すことなくオブジェクトを動かすことができます。$GXOR 定数は,アニメーションでしばしば使われる特殊なモードです。
さらに,以下のラスター操作定数を使うことができます (詳細はオンライン・ヘルプの WIN32 API BitBlt を参照)。
$GSRCCOPY ($GPSET と同じ)
$GSRCPAINT ($GOR と同じ)
$GSRCAND ($GAND と同じ)
$GSRCINVERT ($GXOR と同じ)
$GSRCERASE
$GNOTSRCCOPY ($GPRESET と同じ)
$GNOTSRCERASE
$GMERGECOPY
$GMERGEPAINT
$GPATCOPY
$GPATPAINT
$GPATINVERT
$GDSTINVERT
$GBLACKNESS
$GWHITENESS
PUTIMAGE は,ビューポート座標 (x, y) にイメージの左上隅を置きます。PUTIMAGE_W は,ウィンドウ座標 (wx, wy) にイメージの左上隅を置きます。
互換性
STANDARD GRAPHICS QUICKWIN GRAPHICS LIB
関連情報
例
! QuickWin または Standard Graphics アプリケーションでビルドします。 USE DFLIB INTEGER(1), ALLOCATABLE :: buffer(:) INTEGER(2) status, x INTEGER(4) imsize status = SETCOLOR(INT2(4)) status = ELLIPSE($GFILLINTERIOR,INT2(40),INT2(55),INT2(70),INT2(85)) imsize = IMAGESIZE (INT2(39),INT2(54),INT2(71),INT2(86)) ALLOCATE (buffer(imsize)) CALL GETIMAGE(INT2(39),INT2(54),INT2(71),INT2(86),buffer) DO x = 5 , 395, 35 CALL PUTIMAGE(x, INT2(90), buffer, $GPSET) END DO DEALLOCATE(buffer) END