imagine
1.0.0A general image decoding and manipulation library
Table of Contents
About Imagine
Imagine offers a standardised protocol for interacting with image data as well as several operators to manipulate images. It lets you load and save to a variety of image formats, convert pixel data, and so on.
Creating Images
You can create an image directly via make-image or make-image*, or load it from a file format on disk via load-image. By default the imagine system does not support any formats, you need to load the subsystems that implement the formats relevant to your needs, such as imagine/png and imagine/jpeg. Similarly you can save images back to disk via save-image.
Once you have an image, you can investigate its properties:
wThe width in pixelshThe height in pixelsdThe depth in pixelslayoutThe layout of each pixel (:rgbetc)channel-typeThe data type of each colour channel in the pixel (:unsigned-byteetc)originThe origin of the image (:top-leftetc)dataThe raw, packed pixel data
Since the layout and channel-type can take a number of different values, interacting with pixel data in a generic way can be tricky. In most cases you will likely only care about a specific set of values and will want to write specific handling functions for those. However, if you want to generically operate on pixel data without knowledge of the layout, channel-type, or the backing storage type, you can use the following helpers:
with-pixel-dataTo get an accessor for direct reading and writing of pixel channelswith-image-pixelsShorthand for the abovewith-image-pixels*Shorthand for multiple images using the abovewith-viewTo get an accessor for direct reading and writing of pixel channels within aviewof an image
However, most frequently you'll just want to shovel the data raw some other place to save it or to display it or whatever, or want to use one of the generic operations Imagine provides for you.
Operations
Out of the box Imagine supports the following operations on images:
adjustTo change the image pixel data propertiesresizeTo resize (extend) the image dimensionsscaleTo scale (stretch) the image to a new sizerotateTo rotate the image by increments of 90 degreesmirrorTo mirror the imagetransferTo transfer pixel data between sub-areas of images
Note that because these operations perform on generic image data regardless of pixel layout or channel type, they are unlikely to be as fast as a bespoke operation would be for a specific layout and channel type. If performance is crucial to you, you will want to create such bespoke versions.
Formats
The following formats are supported out of the box with their respective subsystems:
rawbmpgifhdrjpeg(imagine/jpegorimagine/jpeg-turbo)ktxpngqoisf3svgterragentgatiffdevil(generic provider for many formats)
As well as the following subsystems for different container formats:
foreign-pointerfor direct foreign memory storagememory-regionfor storage within memory-regionsdepotfor storage within depots
System Information
Definition Index
-
ORG.SHIRAKUMO.FRAF.IMAGINE
No documentation provided.-
EXTERNAL CONDITION IMAGINE-ERROR
Supertype for all errors in this library.
-
EXTERNAL CONDITION INVALID-VIEW
Error signalled when a view designates an area that is outside of the image. See IMAGINE-ERROR See VIEW
-
EXTERNAL CONDITION PIXEL-DATA-INCOMPATIBLE
-
EXTERNAL CONDITION UNSUPPORTED-FORMAT
Error signalled when the requested image format is unsupported. See SOURCE See FORMAT-TYPE See SUPPORTED-FORMATS
-
EXTERNAL STRUCTURE IMAGE
Representation of an image. An image is a raw, uncompressed pixel storage combined with the metadata necessary to interpret those pixel contents in the intended way. Each image is composed of one or more layers, which is composed of one or more rows, which is composed of one or more pixels, which is composed of one or more channels. The number of channels (and their order and purpose) per pixel is indicated by the LAYOUT, the storage for each channel by the CHANNEL-TYPE, the number of pixels in a row by the Width, number of rows per layer by the Height, and the number of layers by the Depth. Where the zero point is located and in which direction the image "grows" is indicated by the ORIGIN. Layers are always stacked "behind", meaning layer 0 is on top in front of layer 1 and so on. The image's pixel data is stored in an opaque backing storage, which may or may not be an octet vector. The only restriction is that the storage is addressable via functions returned by CHANNEL-READER and CHANNEL-WRITER. See W See H See D See CHANNEL-TYPE See LAYOUT See ORIGIN See DATA See MAKE-IMAGE See CHANNEL-READER See CHANNEL-WRITER See PIXEL-STRIDE See WITH-IMAGE-PIXELS See ADJUST See LOAD-IMAGE See SAVE-IMAGE See MIRROR See ROTATE See RESIZE See SCALE
-
EXTERNAL STRUCTURE VIEW
Representation of a view into an image. A view is a sub-range of the image data and provides transparent access into that data. Views let you transfer data between image regions. See IMAGE (type) See X See Y See Z See W See H See D See WITH-VIEW See TRANSFER See SUPERFLUOUS-VIEW-P See VALID-VIEW-P See CHECK-VIEW
-
EXTERNAL TYPE-DEFINITION CHANNEL-TYPE
Type for valid channel-type indicators. Can be one of :UNSIGNED-BYTE :UNSIGNED-SHORT :UNSIGNED-INT :UNSIGNED-LONG :SIGNED-BYTE :SIGNED-SHORT :SIGNED-INT :SIGNED-LONG :HALF-FLOAT :FLOAT :DOUBLE or a specific channel type as a keyword, defined by an extension to Imagine.
-
EXTERNAL TYPE-DEFINITION LAYOUT
Type for valid layout indicators. Can be one of :R :RA :RGB :BGR :RGBA :BGRA :ARGB :ABGR
-
EXTERNAL TYPE-DEFINITION ORIGIN
Type for valid origin indicators. Can be one of :TOP-LEFT :TOP-RIGHT :BOTTOM-LEFT :BOTTOM-RIGHT
-
EXTERNAL FUNCTION CHECK-IMAGE-COMPATIBLE
- IMAGE
- LAYOUTS
- &KEY
- ORIGIN
- CHANNEL-TYPES
Check if the image's pixel data is compatible and signal an error otherwise. If an error is signalled, a restart named ADJUST is available, which will call ADJUST on the image to modify it to the closest compatible pixel format. See IMAGE-COMPATIBLE-P See PIXEL-DATA-INCOMPATIBLE (type) See ADJUST
-
EXTERNAL FUNCTION CHECK-VIEW
- VIEW
Checks if the view is valid and signals an error otherwise. See VALID-VIEW-P See VIEW (type) See INVALID-VIEW (type)
-
EXTERNAL FUNCTION COPY-IMAGE
- INSTANCE
Copy the image and return it. This will *not* create a deep copy of the backing DATA. Both the original and the copy will point to the same DATA storage. See MAKE-IMAGE See IMAGE (type)
-
EXTERNAL FUNCTION COPY-VIEW
- INSTANCE
Create a copy of the view. See VIEW (type)
-
EXTERNAL FUNCTION IMAGE-CHANNEL-TYPE
- INSTANCE
Access the image's channel-type directly. See CHANNEL-TYPE See IMAGE (type)
-
EXTERNAL FUNCTION (SETF IMAGE-CHANNEL-TYPE)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION IMAGE-COMPATIBLE-P
- IMAGE
- LAYOUTS
- &KEY
- ORIGIN
- CHANNEL-TYPES
Returns true if the image's pixel data is compatible with the given set of layouts and channel types. LAYOUTS and CHANNEL-TYPES should be lists of acceptable layout and channel-type indicators. See IMAGE (type) See LAYOUT (type) See CHANNEL-TYPE (type) See ORIGIN (type)
-
EXTERNAL FUNCTION IMAGE-D
- INSTANCE
Access the image's depth directly. See D See IMAGE (type)
-
EXTERNAL FUNCTION (SETF IMAGE-D)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION IMAGE-DATA
- INSTANCE
Access the image's data directly. See DATA See IMAGE (type)
-
EXTERNAL FUNCTION (SETF IMAGE-DATA)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION IMAGE-H
- INSTANCE
Access the image's height directly. See H See IMAGE (type)
-
EXTERNAL FUNCTION (SETF IMAGE-H)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION IMAGE-LAYOUT
- INSTANCE
Access the image's layout directly. See LAYOUT See IMAGE (type)
-
EXTERNAL FUNCTION (SETF IMAGE-LAYOUT)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION IMAGE-ORIGIN
- INSTANCE
Access the image's origin directly. See ORIGIN See IMAGE (type)
-
EXTERNAL FUNCTION (SETF IMAGE-ORIGIN)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION IMAGE-W
- INSTANCE
Access the image's width directly. See W See IMAGE (type)
-
EXTERNAL FUNCTION (SETF IMAGE-W)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION MAKE-IMAGE
- &KEY
- DATA
- CHANNEL-TYPE
- LAYOUT
- W
- H
- D
- ORIGIN
Create a new image and return it. See MAKE-IMAGE* See IMAGE (type) See DATA See CHANNEL-TYPE (type) See LAYOUT (type) See ORIGIN (type) See W See H See D
-
EXTERNAL FUNCTION MAKE-IMAGE*
- DATA
- CHANNEL-TYPE
- LAYOUT
- WIDTH
- HEIGHT
- &OPTIONAL
- DEPTH
- ORIGIN
Shorthand to create an image. See MAKE-IMAGE See IMAGE (type)
-
EXTERNAL FUNCTION MAKE-VIEW
- IMAGE
- &KEY
- X
- Y
- Z
- W
- H
- D
Create a new view on an image. See VIEW (type) See IMAGE (type) See X See Y See Z See W See H See D
-
EXTERNAL FUNCTION MIRROR
- IMAGE
- DIRECTION
Mirror's the image's pixels destructively. The direction can be either :VERTICALLY or :HORIZONTALLY. See IMAGE (type)
-
EXTERNAL FUNCTION RESIZE
- IMAGE
- &KEY
- W
- H
- D
- GRAVITY
Resizes the image destructively. The image bounds are extended with "empty" pixels and the existing pixels will be bound as per GRAVITY, which can either be a keyword or a list of keywords separate for each dimension. The keywords can be either: :ZERO --- Stick to the origin edge in this dimension :CENTER --- Center pixels in this dimension :OPPOSITE --- Stick to the opposing edge in this dimension See IMAGE (type) See ADJUST
-
EXTERNAL FUNCTION ROTATE
- IMAGE
- AMOUNT
Rotates the image destructively. The amount can be either 90, -90 or 270, or 180. In the case of 90 degree rotations, the image's W and H will be swapped. See IMAGE (type)
-
EXTERNAL FUNCTION SCALE
- IMAGE
- &KEY
- W
- H
- D
- INTERPOLATION
Scales the image destructively. The image is scaled using the given interpolation argument. By default only :LINEAR and :NEAREST are supported. Users may extend the available interpolation algorithms by defining methods on SCALE-IMAGE. See IMAGE (type) See SCALE-IMAGE
-
EXTERNAL FUNCTION SUPERFLUOUS-VIEW-P
- VIEW
Returns true if the view is superfluous (equivalent to the whole image). See VIEW (type)
-
EXTERNAL FUNCTION VALID-VIEW-P
- VIEW
Returns true if the view is valid (is contained within the image). See VIEW (type)
-
EXTERNAL FUNCTION VIEW-D
- INSTANCE
Access the view's depth. See VIEW (type) See D
-
EXTERNAL FUNCTION (SETF VIEW-D)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION VIEW-H
- INSTANCE
Access the view's height. See VIEW (type) See H
-
EXTERNAL FUNCTION (SETF VIEW-H)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION VIEW-IMAGE
- INSTANCE
Access the view's backing image. See IMAGE (type) See VIEW (type) See IMAGE
-
EXTERNAL FUNCTION (SETF VIEW-IMAGE)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION VIEW-W
- INSTANCE
Access the view's width. See VIEW (type) See W
-
EXTERNAL FUNCTION (SETF VIEW-W)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION VIEW-X
- INSTANCE
Access the view's X coordinate. See VIEW (type) See X
-
EXTERNAL FUNCTION (SETF VIEW-X)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION VIEW-Y
- INSTANCE
Access the view's Y coordinate. See VIEW (type) See Y
-
EXTERNAL FUNCTION (SETF VIEW-Y)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL FUNCTION VIEW-Z
- INSTANCE
Access the view's Z coordinate. See VIEW (type) See Z
-
EXTERNAL FUNCTION (SETF VIEW-Z)
- VALUE
- INSTANCE
No documentation provided. -
EXTERNAL GENERIC-FUNCTION ADJUST
- SOURCE
- &KEY
- CHANNEL-TYPE
- LAYOUT
- ORIGIN
- W
- H
- D
Adjust the pixel data storage for the given image. This will destructively modify the given image and return it. The DATA in the image will be replaced if necessary. The image will not be changed if all of the requested attributes already match those of the image. If any of W, H, D are specified the image will be resized using RESIZE, meaning the storage is extended while keeping the original image anchored towards the 0 point. If you want to scale the image instead, use SCALE. If a different LAYOUT is requested, then the pixel colours will be converted on a "best effort" basis. For the case of gray to rgb, the gray value is simply repeated to all channels. For the case of rgb to gray, the colour's approximate sRGB luminance value is used as the gray point. For the case of a new alpha channel, the channel is set to opaque (1). For the case of a removed alpha channel, it is simply discarded. If a different CHANNEL-TYPE is requested, the image colour channels are converted to the requested storage type on a "best effort" basis. Naturally conversion to a different storage type (such as floats) or a lower bittage (such as int to short) will potentially lose colour depth. If a different ORIGIN is requested, the image's origin is adjusted such that the image will still be displayed the same way after the origin change (meaning the data is mirrored as required to achieve the change of coordinate system). See IMAGE (type) See LAYOUT (type) See ORIGIN (type) See RESIZE
-
EXTERNAL GENERIC-FUNCTION CHANNEL-READER
- DATA
- CHANNEL-TYPE
Returns a function to read a pixel channel's value. The function accepts two arguments: the backing data storage and the *octet* index in that data storage at which to read the channel. The returned value is a REAL number. Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption. See DATA See PIXEL-READER See CHANNEL-TYPE (type)
-
EXTERNAL GENERIC-FUNCTION CHANNEL-TYPE
- IMAGE
Returns the channel-type of pixel data in the image. See IMAGE (type) See CHANNEL-TYPE (type) See PIXEL-STRIDE See DATA
-
EXTERNAL GENERIC-FUNCTION CHANNEL-WRITER
- DATA
- CHANNEL-TYPE
Returns a function to read a pixel channel's value. The function accepts two arguments: the backing data storage and the *octet* index in that data storage at which to read the channel. The returned value is a REAL number. Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption. See DATA See PIXEL-WRITER See CHANNEL-TYPE (type)
-
EXTERNAL GENERIC-FUNCTION D
- IMAGE
Returns the depth of the view area in pixels. See IMAGE (type) See VIEW (type)
-
EXTERNAL GENERIC-FUNCTION DATA
- IMAGE
Returns the backing storage of packed pixel data for the image. The backing storage is "opaque" in the sense that it can be NIL if the image is invalid, a (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)), or another data type if an extension to Imagine provides it, such as a foreign pointer or something like that. In order to access data transparently, you should use WITH-PIXEL-DATA or WITH-IMAGE-PIXELS. Alternatively you will need to write bespoke handling for the data storage types that you are interested in. What is true for all storage types is that they must provide constant time random access to an arbitrary index within it, addressable to octet boundaries. The storage must also guarantee access to at least up to and excluding the index at (* W H D PIXEL-STRIDE) of the image. Access beyond that range however results in undefined behaviour. See IMAGE (type) See WITH-PIXEL-DATA See WITH-IMAGE-PIXELS See PIXEL-STRIDE
-
EXTERNAL GENERIC-FUNCTION (SETF DATA)
- DATA
- IMAGE
No documentation provided. -
EXTERNAL GENERIC-FUNCTION ENSURE-IMAGE
- IMAGE
Turns the given thing into an IMAGE if possible. See IMAGE (type) See VIEW (type) See LOAD-IMAGE
-
EXTERNAL GENERIC-FUNCTION FORMAT-TYPE
- CONDITION
Returns the requested format type that is unavailable. See UNSUPPORTED-FORMAT
-
EXTERNAL GENERIC-FUNCTION H
- IMAGE
Returns the height of the view area in pixels. See IMAGE (type) See VIEW (type)
-
EXTERNAL GENERIC-FUNCTION IMAGE
- IMAGE
No documentation provided. -
EXTERNAL GENERIC-FUNCTION LAYER-STRIDE
- IMAGE
Returns the number of octets in stride for a whole layer of pixels. This is the ROW-STRIDE multiplied by the H of the image. See IMAGE (type) See ROW-STRIDE See H
-
EXTERNAL GENERIC-FUNCTION LAYOUT
- IMAGE
Returns the channel layout of pixel data in the image. See IMAGE (type) See LAYOUT (type) See PIXEL-STRIDE See DATA
-
EXTERNAL GENERIC-FUNCTION LOAD-IMAGE
- SOURCE
- TYPE
- &KEY
- DECODE
- &ALLOW-OTHER-KEYS
Load an image from the backing storage. The file format type may be specified as T, in which case the type is inferred from the source pathname name, if any. If the file format type is not recognised or supported, an error of type UNSUPPORTED-FORMAT is signalled. If the operation succeeds, either an IMAGE instance is returned, or a list of IMAGE instances if multiple disconnected images are contained in the file. Depending on the format, additional keyword arguments may be supported to direct selection of the image or its properties in the decoded format. All formats must support the keyword DECODE, which is T by default. If NIL, then the returned IMAGE's DATA field may be NIL, but the metadata entries such as the dimensions of the image must be filled in. See IMAGE (type) See UNSUPPORTED-FORMAT (type) See SAVE-IMAGE
-
EXTERNAL GENERIC-FUNCTION ORIGIN
- IMAGE
Returns the image's origin placement. See IMAGE (type) See ORIGIN (type)
-
EXTERNAL GENERIC-FUNCTION PIXEL-READER
- LAYOUT
Returns a function to read a standardised pixel. The function accepts three arguments: a function of one argument to read a pixel channel's value at the passed index, the index at which the pixel starts, and the stride between channels. Returns four values: the R, G, B, and A of the pixel, each as a REAL number as by CHANNEL-READER. Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption. See DATA See CHANNEL-READER See PIXEL-WRITER See LAYOUT (type)
-
EXTERNAL GENERIC-FUNCTION PIXEL-STRIDE
- IMAGE
Returns the number of octets in stride for the given thing. THING can be an IMAGE, a LAYOUT, or a CHANNEL-TYPE. In case of a IMAGE, it returns the stride between pixels. In case of a LAYOUT, it returns the number of channels, and in case of a CHANNEL-TYPE the number of octets for that channel-type. See ROW-STRIDE See LAYER-STRIDE See IMAGE (type) See LAYOUT (type)
-
EXTERNAL GENERIC-FUNCTION PIXEL-WRITER
- LAYOUT
Returns a function to write a standardised pixel. The function accepts seves arguments: a function of two arguments to write a pixel channel's value at the passed index, the index at which the pixel starts, the stride between channels, and the R, G, B, and A channels of the pixel. The writer will reinterpret the values to match the layout as necessary. Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption. See DATA See CHANNEL-WRITER See PIXEL-READER See LAYOUT (type)
-
EXTERNAL GENERIC-FUNCTION ROW-STRIDE
- IMAGE
Returns the number of octets in stride for a whole row of pixels. This is the PIXEL-STRIDE multiplied by the W of the image. See IMAGE (type) See PIXEL-STRIDE See W
-
EXTERNAL GENERIC-FUNCTION SAVE-IMAGE
- SOURCE
- TARGET
- TYPE
- &KEY
- &ALLOW-OTHER-KEYS
Save an image to the backing storage. The file format type may be specified as T, in which case the type is inferred from the source pathname name, if any. If the file format type is not recognised or supported, an error of type UNSUPPORTED-FORMAT is signalled. If the IMAGE's pixel data is not in a suitable format for the file format, an error of type PIXEL-DATA-INCOMPATIBLE is signalled and a restart called ADJUST will be available to adjust the image pixel destructively to match the closest suitable format for the file format. Depending on the format, additional keyword arguments may be supported to direct the properties in the encoded format. See IMAGE (type) See UNSUPPORTED-FORMAT (type) See PIXEL-DATA-INCOMPATIBLE (type) See LOAD-IMAGE
-
EXTERNAL GENERIC-FUNCTION SCALE-IMAGE
- INTERPOLATION
- IMAGE
- W
- H
- D
Scales the image destructively. Users may define methods on this function to define additional interpolation algorithms. By default only :LINEAR and :NEAREST are supported. See SCALE
-
EXTERNAL GENERIC-FUNCTION SOURCE
- CONDITION
Returns the related source image. See PIXEL-DATA-INCOMPATIBLE See UNSUPPORTED-FORMAT
-
EXTERNAL GENERIC-FUNCTION SUPPORTED-FORMATS
- CONDITION
Returns a list of the supported format types. See UNSUPPORTED-FORMAT
-
EXTERNAL GENERIC-FUNCTION TARGET
- CONDITION
Returns the related target image. See PIXEL-DATA-INCOMPATIBLE
-
EXTERNAL GENERIC-FUNCTION TRANSFER
- SOURCE
- TARGET
Transfer pixels between two images or views. The behaviour is undefined if the source and destination are the same image or views to the same image and the view regions overlap. An error of type INVALID-VIEW is signalled if either the source or target are a VIEW that is invalid. See IMAGE (type) See VIEW (type) See INVALID-VIEW (type)
-
EXTERNAL GENERIC-FUNCTION VIEW
- CONDITION
Returns the related view. See INVALID-VIEW
-
EXTERNAL GENERIC-FUNCTION W
- IMAGE
Returns the width of the view area in pixels. See IMAGE (type) See VIEW (type)
-
EXTERNAL GENERIC-FUNCTION X
- IMAGE
Returns the X offset of the view area in pixels. See IMAGE (type) See VIEW (type)
-
EXTERNAL GENERIC-FUNCTION Y
- IMAGE
Returns the Y offset of the view area in pixels. See IMAGE (type) See VIEW (type)
-
EXTERNAL GENERIC-FUNCTION Z
- IMAGE
Returns the Z offset of the view area in pixels. See IMAGE (type) See VIEW (type)
-
EXTERNAL MACRO WITH-IMAGE-PIXELS
- ACCESSOR
- IMAGE
- &BODY
- BODY
Convenience to access pixel data of an image. See IMAGE (type) See WITH-PIXEL-DATA
-
EXTERNAL MACRO WITH-IMAGE-PIXELS*
- BINDINGS
- &BODY
- BODY
Convenience to access pixel data of images. See IMAGE (type) See WITH-IMAGE-PIXELS* See WITH-PIXEL-DATA
-
EXTERNAL MACRO WITH-PIXEL-DATA
- ACCESSOR
- PIXEL-DATA
- CHANNEL-TYPE
- &BODY
- BODY
Convenience to access pixel data in a standardised way. ACCESSOR will be FBOUND to an accessor that accepts one argument, the index at which to read a single channel of pixel data from the PIXEL-DATA backing storage, using the specified CHANNEL-TYPE to decode the data. The accessor is dynamic-extent within BODY, and *must not* be leaked outside. The accessor has restrictions placed on its valid access patterns. See DATA and PIXEL-READER. See DATA See PIXEL-READER See PIXEL-WRITER See CHANNEL-TYPE (type)
-
EXTERNAL MACRO WITH-VIEW
- ACCESSOR
- VIEW
- &BODY
- BODY
Convenience to access pixel data in a view. ACCESSOR will be FBOUND to an accessor that accepts one argument, the index at which to read a single channel of pixel data from the PIXEL-DATA backing storage, using the image's CHANNEL-TYPE to decode the data. The accessor is dynamic-extent within BODY, and *must not* be leaked outside. The accessor has restrictions placed on its valid access patterns. See DATA and PIXEL-READER. See DATA See PIXEL-READER See PIXEL-WRITER See WITH-PIXELS See CHANNEL-TYPE (type)
-
EXTERNAL SOURCE-TRANSFORM COPY-IMAGE
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF COPY-IMAGE)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM COPY-VIEW
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF COPY-VIEW)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM IMAGE-CHANNEL-TYPE
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF IMAGE-CHANNEL-TYPE)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM IMAGE-D
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF IMAGE-D)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM IMAGE-DATA
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF IMAGE-DATA)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM IMAGE-H
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF IMAGE-H)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM IMAGE-LAYOUT
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF IMAGE-LAYOUT)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM IMAGE-ORIGIN
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF IMAGE-ORIGIN)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM IMAGE-W
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF IMAGE-W)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM MAKE-IMAGE
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF MAKE-IMAGE)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM MAKE-VIEW
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF MAKE-VIEW)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM VIEW-D
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF VIEW-D)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM VIEW-H
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF VIEW-H)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM VIEW-IMAGE
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF VIEW-IMAGE)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM VIEW-W
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF VIEW-W)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM VIEW-X
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF VIEW-X)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM VIEW-Y
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF VIEW-Y)
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM VIEW-Z
No documentation provided. -
EXTERNAL SOURCE-TRANSFORM (SETF VIEW-Z)
No documentation provided.
-