PUTIMAGE, PUTIMAGE_W

Graphics Subroutine: Transfers the image stored in memory to the screen.

Module USE DFLIB

Syntax

CALL PUTIMAGE (x, y, image, action)
CALL PUTIMAGE_W (wx, wy, image, action)


x, y
(Input) INTEGER(2). Viewport coordinates for upper-left corner of the image when placed on the screen.


wx, wy
(Input) REAL(8). Window coordinates for upper-left corner of the image when placed on the screen.


image
(Input) INTEGER(1). Array of single-byte integers. Stored image buffer.


action
(Input) INTEGER(2). Interaction of the stored image with the existing screen image. One of the following symbolic constants (defined in DFLIB.F90 in the \DF98\INCLUDE subdirectory):


PUTIMAGE places the upper-left corner of the image at the viewport coordinates (x,y). PUTIMAGE_W places the upper-left corner of the image at the window coordinates (wx, wy).

Compatibility

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

See Also: GETIMAGE, GRSTATUS, IMAGESIZE

Example

 ! Build as a Graphics App.
 USE DFLIB
 INTEGER(1), ALLOCATABLE :: buffer(:)
 INTEGER(2) status, x
 INTEGER(4) imsize

 status = SETCOLOR(INT2(4))
 ! draw a circle
 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)
 ! copy a row of circles beneath it
 DO x = 5 , 395, 35
    CALL PUTIMAGE(x, INT2(90), buffer, $GPSET)
 END DO
 DEALLOCATE(buffer)
 END