Class TGrayscaleAlphaFloatImage

Unit

Declaration

type TGrayscaleAlphaFloatImage = class(TCastleImage)

Description

Image with each pixel represented as 2 floating-point numbers (Single): grayscale (luminance) and alpha (opacity).

Compared to TGrayscaleAlphaImage, each pixel is a floating-point number, which means it is more precise and can also be above 1.0 value.

Hierarchy

Overview

Methods

Protected function GetColors(const X, Y, Z: Integer): TCastleColor; override;
Protected procedure SetColors(const X, Y, Z: Integer; const C: TCastleColor); override;
Public class function PixelSize: Cardinal; override;
Public class function ColorComponentsCount: Cardinal; override;
Public procedure Assign(const Source: TCastleImage); override;
Public procedure InvertColors; override;
Public class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4; const AColors: TVector4Pointer); override;
Public function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PVector2;
Public function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PVector2Array;

Properties

Public property Pixels: PVector2 read GetPixels;
Public property PixelsArray: PVector2Array read GetPixelsArray;

Description

Methods

Protected function GetColors(const X, Y, Z: Integer): TCastleColor; override;

This item has no description.

Protected procedure SetColors(const X, Y, Z: Integer; const C: TCastleColor); override;

This item has no description.

Public class function PixelSize: Cardinal; override;

This item has no description. Showing description inherited from TCastleImage.PixelSize.

Size of TPixel in bytes for this TCastleImage descendant.

Public class function ColorComponentsCount: Cardinal; override;

This item has no description. Showing description inherited from TCastleImage.ColorComponentsCount.

Number of color components in TPixel.

E.g. RGB is 3 components and RGB+Alpha is 4 components, RGB+Exponent is 3 components (because it describes only Red, Green and Blue values (Exponent value is just used to correctly interpret these, it's not a 4th component)).

Public procedure Assign(const Source: TCastleImage); override;

This item has no description. Showing description inherited from TCastleImage.Assign.

Copy size and contents from Source. This sets our size (Width, Height and Depth) to match Source image, and copies pixels from the Source image, converting them as closely as possible. For example, converting RGBA to RGB will strip alpha channel, but copy RGB values.

When implementing descendants: the base implementation of this method in TCastleImage handles only the case when Image class equals our own class. And raises EImageAssignmentError in other cases. Override this method if you want to actually handle some conversions when assignning.

Public procedure InvertColors; override;

This item has no description. Showing description inherited from TCastleImage.InvertColors.

Inverts all colors (RGB or grayscale, but doesn't touch alpha channel). "Inverting" means changing color C in range [0..1] to 1-C, so black becomes white, white becomes black etc.

For descendants implementors: Override it if necessary, otherwise the default implementation in this class will raise EInternalError.

Public class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4; const AColors: TVector4Pointer); override;

This item has no description. Showing description inherited from TCastleImage.MixColors.

Mix 4 colors, with 4 weights, into a resulting color. All 4 Colors and OutputColor must be pointers to a pixel of current image class, that is they must point to PixelSize bytes of memory.

Public function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PVector2;

Pointer to given pixel.

Public function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PVector2Array;

Pointer to given row.

Properties

Public property Pixels: PVector2 read GetPixels;

Pointer to pixels. Same as RawPixels, only typecasted to PVector2.

Public property PixelsArray: PVector2Array read GetPixelsArray;

Pointer to pixels. Same as RawPixels, only typecasted to PVector2Array.


Generated by PasDoc 0.16.0-snapshot.