Class TRGBAlphaImage

Unit

Declaration

type TRGBAlphaImage = class(TCastleImage)

Description

Image with each pixel stored as 4 bytes: RGB (color) and alpha (opacity).

Hierarchy

Overview

Methods

Protected procedure DrawFromCore(Source: TCastleImage; X, Y, SourceX, SourceY, SourceWidth, SourceHeight: Integer; const Mode: TDrawMode); override;
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 function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PVector4Byte;
Public function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PVector4ByteArray;
Public procedure InvertColors; override;
Public procedure Clear(const Pixel: TVector4Byte); override;
Public function IsClear(const Pixel: TVector4Byte): boolean; override;
Public procedure ClearAlpha(const Alpha: Byte);
Public procedure TransformRGB(const Matrix: TMatrix3); override;
Public procedure ModulateRGB(const ColorModulator: TColorModulatorByteFunc); override;
Public procedure AlphaDecide(const AlphaColor: TVector3Byte; Tolerance: Byte; AlphaOnColor: Byte; AlphaOnNoColor: Byte);
Public procedure Compose(RGB: TRGBImage; AGrayscale: TGrayscaleImage);
Public function HasAlpha: boolean; override;
Public function AlphaChannel( const AlphaTolerance: Byte): TAlphaChannel; override;
Public procedure LerpWith(const Value: Single; SecondImage: TCastleImage); override;
Public class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4; const AColors: TVector4Pointer); override;
Public procedure Assign(const Source: TCastleImage); override;
Public function ToRGBImage: TRGBImage; deprecated 'create TRGBImage and use TRGBImage.Assign';
Public function ToGrayscaleAlphaImage: TGrayscaleAlphaImage; deprecated 'create TGrayscaleAlphaImage and use TGrayscaleAlphaImage.Assign';
Public function ToGrayscaleImage: TGrayscaleImage; deprecated 'create TGrayscaleImage and use TGrayscaleImage.Assign';
Public function ToFpImage: TInternalCastleFpImage; override;
Public procedure PremultiplyAlpha;
Public procedure AlphaBleed(const ProgressTitle: string = ''); override;
Public function MakeAlphaBleed(const ProgressTitle: string = ''): TCastleImage; override;
Public procedure FillEllipse(const x, y: single; const aRadiusX, aRadiusY: single; const aColor: TCastleColor); override;
Public procedure Ellipse(const x, y: single; const aRadiusX, aRadiusY: single; const aWidth: single; const aColor: TCastleColor); override;
Public procedure FillRectangle(const x1, y1, x2, y2: single; const aColor: TCastleColor); override;
Public procedure Rectangle(const x1, y1, x2, y2: single; const aWidth: single; const aColor: TCastleColor); override;
Public procedure Line(const x1, y1, x2, y2: single; const aWidth: single; const aColor: TCastleColor); override;

Properties

Public property Pixels: PVector4Byte read GetPixels;
Public property AlphaPixels: PVector4Byte read GetPixels; deprecated 'use Pixels';
Public property PixelsArray: PVector4ByteArray read GetPixelsArray;
Public property PremultipliedAlpha: boolean read FPremultipliedAlpha;

Description

Methods

Protected procedure DrawFromCore(Source: TCastleImage; X, Y, SourceX, SourceY, SourceWidth, SourceHeight: Integer; const Mode: TDrawMode); override;
 
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 function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PVector4Byte;
 
Public function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PVector4ByteArray;
 
Public procedure InvertColors; override;
 
Public procedure Clear(const Pixel: TVector4Byte); override;
 
Public function IsClear(const Pixel: TVector4Byte): boolean; override;
 
Public procedure ClearAlpha(const Alpha: Byte);

Set alpha channel on every pixel to the same given value.

Public procedure TransformRGB(const Matrix: TMatrix3); override;
 
Public procedure ModulateRGB(const ColorModulator: TColorModulatorByteFunc); override;
 
Public procedure AlphaDecide(const AlphaColor: TVector3Byte; Tolerance: Byte; AlphaOnColor: Byte; AlphaOnNoColor: Byte);

Set alpha of every pixel to either AlphaOnColor (when color of pixel is equal to AlphaColor with Tolerance, see EqualRGB) or AlphaOnNoColor.

Public procedure Compose(RGB: TRGBImage; AGrayscale: TGrayscaleImage);

Copy RGB contents from one image, and alpha contents from the other. RGB channels are copied from the RGB image, alpha channel is copied from the Grayscale image. Given RGB and Grayscale images must have the same size, and this is the resulting size of this image after Compose call.

Public function HasAlpha: boolean; override;
 
Public function AlphaChannel( const AlphaTolerance: Byte): TAlphaChannel; override;
 
Public procedure LerpWith(const Value: Single; SecondImage: TCastleImage); override;
 
Public class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4; const AColors: TVector4Pointer); override;
 
Public procedure Assign(const Source: TCastleImage); override;
 
Public function ToRGBImage: TRGBImage; deprecated 'create TRGBImage and use TRGBImage.Assign';

Warning: this symbol is deprecated: create TRGBImage and use TRGBImage.Assign

Remove alpha channel.

Public function ToGrayscaleAlphaImage: TGrayscaleAlphaImage; deprecated 'create TGrayscaleAlphaImage and use TGrayscaleAlphaImage.Assign';

Warning: this symbol is deprecated: create TGrayscaleAlphaImage and use TGrayscaleAlphaImage.Assign

Flatten to grayscale.

Public function ToGrayscaleImage: TGrayscaleImage; deprecated 'create TGrayscaleImage and use TGrayscaleImage.Assign';

Warning: this symbol is deprecated: create TGrayscaleImage and use TGrayscaleImage.Assign

Flatten to grayscale and remove alpha channel.

Public function ToFpImage: TInternalCastleFpImage; override;
 
Public procedure PremultiplyAlpha;

Premultiply the RGB channel with alpha, to make it faster to use this image as source for TCastleImage.DrawTo and TCastleImage.DrawFrom operations. Changes PremultipliedAlpha from False to True. Unless PremultipliedAlpha was already True, in which case this method does nothing — this way it is safe to call this many times, we will not repeat multiplying.

The image with premultiplied alpha can only be used with a subset of image routines that actually support premultiplied alpha. Right now, these are only TCastleImage.DrawTo and TCastleImage.DrawFrom. Image with PremultipliedAlpha can be used as a source for drawing, and the results will be the same as without premultiplying, but faster.

Public procedure AlphaBleed(const ProgressTitle: string = ''); override;
 
Public function MakeAlphaBleed(const ProgressTitle: string = ''): TCastleImage; override;
 
Public procedure FillEllipse(const x, y: single; const aRadiusX, aRadiusY: single; const aColor: TCastleColor); override;
 
Public procedure Ellipse(const x, y: single; const aRadiusX, aRadiusY: single; const aWidth: single; const aColor: TCastleColor); override;
 
Public procedure FillRectangle(const x1, y1, x2, y2: single; const aColor: TCastleColor); override;
 
Public procedure Rectangle(const x1, y1, x2, y2: single; const aWidth: single; const aColor: TCastleColor); override;
 
Public procedure Line(const x1, y1, x2, y2: single; const aWidth: single; const aColor: TCastleColor); override;
 

Properties

Public property Pixels: PVector4Byte read GetPixels;

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

Public property AlphaPixels: PVector4Byte read GetPixels; deprecated 'use Pixels';

Warning: this symbol is deprecated: use Pixels

 
Public property PixelsArray: PVector4ByteArray read GetPixelsArray;

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

Public property PremultipliedAlpha: boolean read FPremultipliedAlpha;
 

Generated by PasDoc 0.16.0.