TRawImageDescription object
Descriptor object for the image format of devices and raw (uncompressed) image data.
Declaration
TRawImageDescription = classDescription
This effectively is a record with some attached methods. More related procedures exist outside the object.
The object describes the presence and exact storage of the RGBA image and mask pixels, of a device or image. The color information is stored in aligned scanlines.
Note: palettes, BitOrder and ByteOrder seem not to be implemented yet. The meaning of the PaletteXXX values and of BitOrder is undefined, so far.
xxxBitsPerPixel and xxxPrecisionMask applies to color data. For masked images, the pixels and the mask are two different arrays, containing different elements.
See also
Methods
Init | Initialize the image descriptor to all zeroes. | |
Init_BPP1 | 1-bit mono format. | |
Init_BPP16_R5G6B5 | 16-bit format. | |
Init_BPP24_R8G8B8_BIO_TTB | 24-bit format with bits in RGB order from top to bottom. | |
Init_BPP24_R8G8B8_BIO_TTB_UpsideDown | 24-bit format with bits in RGB order from bottom to top. | |
Init_BPP32_A8R8G8B8_BIO_TTB | 32-bit format with an Alpha channel, bits in RGB order from top to bottom. | |
Init_BPP32_R8G8B8A8_BIO_TTB | 32-bit format with bits in RGB order plus an Alpha channel, ordered from top to bottom. | |
Init_BPP24_B8G8R8_BIO_TTB | Init for an unmasked 24 bit RGB image (LSB Blue). | |
Init_BPP24_B8G8R8_M1_BIO_TTB | Init for a masked 24 bit RGB image (LSB Blue). | |
Init_BPP32_B8G8R8_BIO_TTB | Init for an unmasked 32 bit RGB image (LSB blue). | |
Init_BPP32_B8G8R8_M1_BIO_TTB | Init for a masked 32 bit RGB image (LSB blue). | |
Init_BPP32_B8G8R8A8_BIO_TTB | Init for an unmasked 32 bit RGBA image (LSB blue). | |
Init_BPP32_B8G8R8A8_M1_BIO_TTB | Init for a masked 32 bit RGBA image (LSB blue). | |
GetDescriptionFromMask | Returns an monochrome image descriptor constructed from the Mask. | |
GetDescriptionFromAlpha | Returns an monochrome image descriptor constructed from the Alpha channel. | |
GetRGBIndices | Gets the indices of channels in four-element array. | |
BytesPerLine | The number of bytes per scanline. | |
BitsPerLine | The number of bits per scanline. | |
MaskBytesPerLine | The number of bytes per Mask scanline. | |
MaskBitsPerLine | The number of bits per Mask scanline. | |
AsString | The image descriptor as a string. | |
IsEqual | Compares with the given description, returns True if it is equal. |
Fields
Format | An initialized image can contain color (RGBA) or monochrome pixels. | |
Width | Width of the image in pixels. | |
Height | Height of the image in pixels. | |
Depth | Number of bits used per pixel. | |
BitOrder | Indicates the bit order for scanlines in the raw image data. | |
ByteOrder | The LSB/MSB-first byte order for color data. | |
LineOrder | The first stored line of pixels can represent the logical top or bottom of the displayed image. | |
LineEnd | Alignment of the scanlines. | |
BitsPerPixel | Number of bits stored per pixel. | |
RedPrec | Bits per pixel in the Red channel. | |
RedShift | Bit offset of the Red channel in color data. | |
GreenPrec | Bits per pixel in the Green channel. | |
GreenShift | Bit offset of the Green channel in color data. | |
BluePrec | Bits per pixel in the Blue channel. | |
BlueShift | Bit offset of the Blue channel in color data. | |
AlphaPrec | Bits per pixel in the Alpha channel. | |
AlphaShift | Bit offset of the Alpha channel in color data. | |
MaskBitsPerPixel | Bits per mask pixel, usually 1, 0 when no mask. | |
MaskShift | The bit offset of the mask bit. | |
MaskLineEnd | Alignment of Mask lines. | |
MaskBitOrder | Bit order of the Mask. | |
PaletteColorCount | Entries in the color palette, 0 when no palette. | |
PaletteBitsPerIndex | Bits per palette index, stored in the pixel data. | |
PaletteShift | Bit shift direction from least to most significant. | |
PaletteLineEnd | Indicates the alignment or padding used at the end of a scanline in the raw image data. | |
PaletteBitOrder | Bit order of the palette indices. | |
PaletteByteOrder | Byte order of the palette indices. |
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
