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

関連情報

IMAGESIZEPUTIMAGE

	! 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