= LOAD IMAGE( filename [AS alias][,mode] ) [fl] [tr] [op] [bg] [bk] [READONLY] fl : [FLIP X] [FLIP Y] [FLIPXY] [FLIPYX] [COMPRESSED] [OVERLAYED] [EXACT] tr : [TRANSPARENCY | TRANSPARENCY color] op : [OPACITY | OPACITY color] bg : [BACKGROUND color] bk : [UNBANKED | BANKED | BANKED(number)]
The LOAD IMAGE
command allows you to load an image and to convert it into
an IMAGE
. The second parameter is the mode to use to convert
the given data (by default, it is equal to current mode)
The command support a set of modern image format, like JPEG baseline & progressive, PNG 1/2/4/8/16-bit-per-channel, TGA, BMP (non-1bpp, non-RLE), PSD (composited view only, no extra channels, 8/16 bit-per-channel), GIF, HDR (radiance rgbE format), PIC (Softimage PIC) and PNM (PPM and PGM binary only) The image will be converted into a way that can be efficiently drawn on the screen.
Since it is possible to load only one file of the same
type at a time, it is necessary to be able to indicate an “alias” with
which to exceed this limit. In this regard, there is also
the AS
syntax, which allows you to load the same file several
times but with different names.
A series of flags, separated by spaces, can be added at loading time to modify the behavior of ugBASIC.
The FLIP X
flag allows you to flip the image horizontally,
before translating it into the native format. The same is true for the
FLIP Y
command, which instead inverts the image vertically.
There is also the FLIP XY
(or FLIP YX
) parameter to act,
simultaneously, on both directions.
The COMPRESSED
flag allows you to compress the image, if
possible. Compression is a space-saving mechanism, in which the
native data of the image is represented in a more compact form,
which ugBASIC will be able to quickly convert into graphics at
the appropriate time.
The OVERLAYED
flag can be used on systems with a palette
of few colors, to indicate which of them must be preserved
during the drawing phase, to have the transparency effect.
The EXACT
flag allows you to bypass the automatic detection
of the palette, opting for the representation of the colors
according to what is contained in it.
The image can be loaded as a transparent image (if the original
image has no transparency) using the keyword TRANSPARENCY
,
followe by an optional parameter that represent the color
to consider as transparent.
The image can be loaded as a transparent image (if the original
image has no transparency) using the keyword OPACITY
,
followe by an optional parameter that represent the color
to consider as pavement,.
The image can be loaded directly into the expansion
memory using the BANKED keyword. The number represent
the shared resident to use as target for this image.
For some targets this is the default. If you want,
you can move the image onto the resident memory by
using the UNBANKED
keyword.
Finally, if the image is not expected to change during gameplay, it can be marked
with the READONLY
attribute: in this case, the image will be stored
in read-only memory, if available.
starship = LOAD IMAGE("starship.png") starship2 = LOAD IMAGE("starship.png" AS "starship2") alienAt11 = LOAD IMAGE("alien.jpg",11) alien2 = LOAD IMAGE("alien.jpg" AS "alien2",11)
See also the following example files:
LdIm
If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please open an issue for this keyword on GitHub. Thank you!