TFPMemoryImage
- FreePascal base class for an image held in memory
FreePascal color palette class; base for LCL TPalette etc.
[entire review 2010-13-01 DoDi]
Abstract FreePascal base class for all image classes.
TLazIntfImage is an LCL implementation of this class.

TFPCustomImage only provides an image size and a palette, and methods to load, store and Assign images. The data storage and handling must be added in derived classes, by overriding the virtual (abstract) methods.

It also provides Extra image attributes (a TStringList).

[entire review 2010-14-01 DoDi]
TLazIntfImage
Base class for image handlers.
TFPCustomImageReader
- FreePascal base class for Image reading
TFPCustomImageWriter
- FreePascal base class for writing image data
FData
- local variable to hold data as a Colour Array
FCount
- local variable to hold number of colours in array
FCapacity
- local variable to hold total capacity of array
Set the number of colors in the palette.
Get the number of used palette entries.
Set the color of the specified palette entry.
Get the color of the specified palette entry.
Perform an bounds check of the supplied index.
FPImageException when the index is out of bounds (not 0
Makes room in the array for more palette entries.
Creates a palette with ACount color entries.
TObject.Create
Destroys this instance.
TObject.Destroy
Builds the palette from an Image.
All pixels in the image are inspected and their unique color values are added to the palette; duplicates are ignored.
Replace the color table by a copy of APalette.
Merge the contents of the given palette into the current palette.
Returns the palette index of the given color.
Add the given color to the palette, and return its palette index.
Duplicate colors are ignored, and the index of the already existing color entry is returned.
Empties the palette.
The current Color from the palette
Get or set the number of used palette entries.
Set RGBA pixel color.
This is a virtual method, that translates the RGBA color into the internal pixel format.

The default implementation converts the RGBA Value into an palette index, which then is stored in the pixel data.

Storage of true RGBA or monochrome colors (not using a palette) has to be implemented in derived classes.
Get RGBA pixel color.
This is a virtual method that extracts the internal color representation into a TFPColor, shifting and expanding bits into a TFPColor.

The default implementation obtains the RGBA color from the palette. When true RGBA or monochrome colors are stored as pixel data, this must be handled in derived classes.
Set the color of a pixel, in its internal encoding.
This is an abstract method, expecting color information as an palette index by default, or monochrome or RGBA data encoded as an Integer value.

The color Value must be encoded in the format of the actual image, as defined in its TRawImageDescription.

Applications should use SetInternalColor instead, which converts the given RGBA value into the proper internal encoding.
Returns the internal (encoded) color value of the specified pixel.
For RGBA colors returns the internal (encoded) representation of the color. For monochrome or palette based images the intensitiy or palette index is returned.
Specifies whether a color palette is to be used.
Creates an empty palette if required.
Notifies an OnProgress handler.
Initializes for an image of the given size in pixels.
TObject.Create
Frees the palette.
TPersistent.Destroy
Loads an image from a stream, optionally using an specific reader.
An overloaded version allows to specify an custom image reader. Otherwise the registered image readers are tried.
Loads an image from an file, optionally using an specific reader.
Saves the image in an stream, using the specified writer.
Saves the image in an file, optionally using the specified writer.
If no writer is specified, a registered writer is selected based on the file extension.
Set the size of the image in pixels.
Override to perform further actions, like allocating memory.

This method also is called when the Width or Height is changed.
Height of the image in pixels.
Width of the image in pixels.
The RGBA color of the specified pixel.
FPImageException
Usage of a color palette (read/write).
The color palette in use; Nil if no palette is used.
The internal color value of a pixel.
FPImageException
For RGBA colors the value is the internal (encoded) representation of the color. For monochrome or palette based images, the value is the intensitiy or palette index.

This property is useful when working with monochrome or palette based images. Otherwise should be used to get or set the decoded RGBA color values.
Additional information, not related to the internal image representation.
Additional image attributes, organized as a list of strings accessible by name or index.

[Missing is a direct reference to the underlying TStringList, for e.g. retrieving the list index of an entry]
Image attribute values (strings) by index.
Attribute strings also can be accessed by name.
Image attribute names by index.
Removes the named image attribute.
Returns the number of additional image attributes.
Handler for Progress events.
Class of .
Pointer to .
TFPIntegerArray
- definition of integer array for use in images
The stream containing the image.
The image being read or written.
Progress event handler.
InternalRead
- read specified image from nominated stream
InternalCheck
- performs check on validity of stream, returns True if OK
ImageRead
read specified image from nominated stream; returns the image
CheckContents
- Gives True if contents are readable
DefaultImageClass
- Image Class to create when no img is given for reading
TFPCustomImageReaderClass
- class of

TFPCustomImageReader
InternalWrite
- write specified image to nominated stream
ImageWrite
- writes given image to stream
TFPCustomImageWriterClass
- class of

TFPCustomImageWriter
TIHData
- data for Image Handler
TImageHandlersManager
- class for managing image handlers
Create
- constructor fro

TImageHandlersManager
: calls inherited

Create
then constructs list of handlers
TObject.Create
Destroy
- destructor for

TImageHandlersManager
: frees the list of handlers then calls inherited

Destroy
TObject.Destroy
RegisterImageHandlers
- method for registering Image Handlers
RegisterImageReader
- method to register an Image Reader
RegisterImageWriter
- method to register an Image Writer
Count
- the number of Image Handlers
The ImageReader being used
The ImageWriter being used
The filename Extentions for the image handlers
The DefaultExtention to be used if no extention is supplied
A list of TypeNames to be used with the handler files
RGBA color information.
This compatible RGBA color representation allows for easy access and manipulation of colors. Concrete images instead will use other (compressed) encodings, which are not suited for direct manipulation.

The TFPColor record contains the Red, Green, Blue and Alpha channel values as left adjusted 16 bit words, with increasing intensity from 0 to $FFFF. Alpha=0 indicates transparent pixels.The internal representation uses the high order bits of these values, as specified by the color Depth of the image description.
Pointer to .
Set the image Height in pixels.
Calls SetSize, to allow for adjustments of the overall (data) size.
Set the image Width in pixels.
Calls SetSize, to allow for adjustments of the overall (data) size.
State of processing (psStarting, psRunning, psEnding).
TFPImgProgressStage
State of processing (psStarting, psRunning, psEnding).
Returns the internal (encoded) color value of the specified pixel.
FPImageException
Bounds check of pixel coordinates.
FPImageException
Image processing progress event.

Sender: the image object

Stage: Starting, Running or Ending

PercentDone: how much has been accomplished

RedrawNow: whether to refresh the Image

R: the rectangle in which drawing progress is being monitored

Msg: a message to show in the progress display

Continue: set Continue to False to abort image processing