Sign in Join
FPDoc Onlineexperiment

TRawImageDescription object

In unit GraphType

Descriptor object for the image format of devices and raw (uncompressed) image data.

Declaration

pascal
TRawImageDescription = class

Description

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

InitInitialize the image descriptor to all zeroes.
Init_BPP11-bit mono format.
Init_BPP16_R5G6B516-bit format.
Init_BPP24_R8G8B8_BIO_TTB24-bit format with bits in RGB order from top to bottom.
Init_BPP24_R8G8B8_BIO_TTB_UpsideDown24-bit format with bits in RGB order from bottom to top.
Init_BPP32_A8R8G8B8_BIO_TTB32-bit format with an Alpha channel, bits in RGB order from top to bottom.
Init_BPP32_R8G8B8A8_BIO_TTB32-bit format with bits in RGB order plus an Alpha channel, ordered from top to bottom.
Init_BPP24_B8G8R8_BIO_TTBInit for an unmasked 24 bit RGB image (LSB Blue).
Init_BPP24_B8G8R8_M1_BIO_TTBInit for a masked 24 bit RGB image (LSB Blue).
Init_BPP32_B8G8R8_BIO_TTBInit for an unmasked 32 bit RGB image (LSB blue).
Init_BPP32_B8G8R8_M1_BIO_TTBInit for a masked 32 bit RGB image (LSB blue).
Init_BPP32_B8G8R8A8_BIO_TTBInit for an unmasked 32 bit RGBA image (LSB blue).
Init_BPP32_B8G8R8A8_M1_BIO_TTBInit for a masked 32 bit RGBA image (LSB blue).
GetDescriptionFromMaskReturns an monochrome image descriptor constructed from the Mask.
GetDescriptionFromAlphaReturns an monochrome image descriptor constructed from the Alpha channel.
GetRGBIndicesGets the indices of channels in four-element array.
BytesPerLineThe number of bytes per scanline.
BitsPerLineThe number of bits per scanline.
MaskBytesPerLineThe number of bytes per Mask scanline.
MaskBitsPerLineThe number of bits per Mask scanline.
AsStringThe image descriptor as a string.
IsEqualCompares with the given description, returns True if it is equal.

Fields

FormatAn initialized image can contain color (RGBA) or monochrome pixels.
WidthWidth of the image in pixels.
HeightHeight of the image in pixels.
DepthNumber of bits used per pixel.
BitOrderIndicates the bit order for scanlines in the raw image data.
ByteOrderThe LSB/MSB-first byte order for color data.
LineOrderThe first stored line of pixels can represent the logical top or bottom of the displayed image.
LineEndAlignment of the scanlines.
BitsPerPixelNumber of bits stored per pixel.
RedPrecBits per pixel in the Red channel.
RedShiftBit offset of the Red channel in color data.
GreenPrecBits per pixel in the Green channel.
GreenShiftBit offset of the Green channel in color data.
BluePrecBits per pixel in the Blue channel.
BlueShiftBit offset of the Blue channel in color data.
AlphaPrecBits per pixel in the Alpha channel.
AlphaShiftBit offset of the Alpha channel in color data.
MaskBitsPerPixelBits per mask pixel, usually 1, 0 when no mask.
MaskShiftThe bit offset of the mask bit.
MaskLineEndAlignment of Mask lines.
MaskBitOrderBit order of the Mask.
PaletteColorCountEntries in the color palette, 0 when no palette.
PaletteBitsPerIndexBits per palette index, stored in the pixel data.
PaletteShiftBit shift direction from least to most significant.
PaletteLineEndIndicates the alignment or padding used at the end of a scanline in the raw image data.
PaletteBitOrderBit order of the palette indices.
PaletteByteOrderByte order of the palette indices.

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.