GETIMAGE, GETIMAGE_W

グラフィックス・サブルーチン:指定した境界矩形で定義される画面イメージを保存します。

モジュール:USE DFLIB

形式

CALL GETIMAGE (x1, y1, x2, y2, image)
CALL GETIMAGE_W (wx1, wy1, wx2, wy2, image)

x1, y1
(入力) INTEGER(2)。境界矩形の左上隅のビューポート座標。

x2, y2
(入力) INTEGER(2)。境界矩形の右下隅のビューポート座標。

wx1, wy1
(入力) REAL(8)。境界矩形の左上隅のウィンドウ座標。

wx2, wy2
(入力) REAL(8)。境界矩形の右下隅のウィンドウ座標。

image
(出力) INTEGER(1)。1 バイト整数の配列。保存するイメージのバッファ。

GETIMAGE は,ビューポート座標点 (x1, y1) と (x2, y2) で境界矩形を定義します。GETIMAGE_W は,ウィンドウ座標点 (wx1, wy1) と (wx2, wy2) で境界矩形を定義します。

イメージを保存するために使用されるバッファは,それを保持するのに十分な大きさでなければなりません。実行時に IMAGESIZE を呼び出してイメージの大きさを決定することができます。イメージの大きさを決定した後,それに従ってバッファの次元を指定することができます。

互換性

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

関連情報

IMAGESIZE,PUTIMAGE

例

	! QuickWin または Standard Graphics アプリケーションでビルドします。
	USE DFLIB
	INTEGER(1), ALLOCATABLE:: buffer (:)
	INTEGER(2) status, x, y, error
	INTEGER(4) imsize
	x = 50
	y = 30
	status = ELLIPSE ($GFILLINTERIOR, INT2(x-15), &
	                  INT2(y-15), INT2( x+15), INT2(y+15))
	imsize = IMAGESIZE (INT2(x-16), INT2(y-16), &
	                  INT2( x+16), INT2(y+16))
	ALLOCATE(buffer (imsize), STAT = error)
	IF (error .NE. 0) THEN
	  STOP 'ERROR: Insufficient memory'
	END IF
	CALL GETIMAGE (INT2(x-16), INT2(y-16), &
	                  INT2( x+16), INT2(y+16), buffer)
	END