




A graphics port.
An image identifier, a file, an external-image, or an image.
A boolean.
A keyword, or 
nil
.
One of the keywords 
:with-alpha
 and 
:without-alpha
, or a boolean.
The 
load-image
 function loads an image identified by 
id
 via the 
image-translation-table
 using the image load function registered with it. It returns an image object with the representation slot initialized. The 
gp
 argument specifies a graphics port used to identify the library. It also specifies the resource in which colors are defined and if necessary allocated for the image. If 
id
 is in the table but the translation is not an external image, and the image loader returns an external image as the second value, that external image replaces the translation in the table. The default value of 
image-translation-table
 is *default-image-translation-table*.
id
 can be an image, which is simply returned if it is a Plain Image or if 
editable
 is 
nil
. Otherwise a new Plain Image object is returned, as described below.
id can also be a string or pathname denoting a file, and in this case the image is loaded according to type , as described below.
The cache argument controls whether the image translation is cached. See the convert-external-image function for more details.
type
 tells 
load-image
 that the image is in a particular graphics format. Currently the only recognised value is 
:bmp
, which means the image is a Bitmap. Other values of 
type
 cause 
load-image
 to load the image according to the file type of 
id,
 if 
id
 denotes a file, as described for 
read-external-image
. See the Graphics Ports chapter in the 
LispWorks CAPI User Guide
 for a discussion of image handling. The default value of 
type
 is 
nil
.
editable controls whether the image image is a Plain Image suitable for use with the Image Access API. The values of editable have the following effects:
The image is not editable.
The image is editable, but does not have an alpha channel.
The image is editable, but does not have an alpha channel if the source of the image has an alpha channel (for example, a TIFF file with alpha channel).
The image is editable and has an alpha channel. It will be fully opaque when loading files without an alpha channel.
Given an image my-image , call
(load-image 
port
 
my-image
 :editable t)
to create an image guaranteed to work with make-image-access. The default value of 
editable
 is 
nil
.
Note: 
gp
 must already be created at the time 
load-image
 is called. If you need to delay loading the image, for example if you are computing the image dynamically, then you can call 
load-image
 in the 
create-callback
 of the port or even in its first 
display-callback
.
In LispWorks 4.4 there is a keyword argument 
:force-plain
 with the same effect as 
:editable
. 
:force-plain
 is still accepted in LispWorks 5.0 for backwards compatibilty, but you should now use 
:editable
 instead.
convert-external-image
*default-image-translation-table*
load-icon-image
make-image
make-image-access