グラフィックス・サブルーチン:指定した境界矩形で定義される画面イメージを保存します。
モジュール: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
関連情報
例
! 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