Class TGrayscaleImage

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TGrayscaleImage = class(TCastleImage)

Description

Grayscale image. Color is a simple Byte value.

Hierarchy

Overview

Methods

Public class function PixelSize: Cardinal; override;
Public class function ColorComponentsCount: Cardinal; override;
Public function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PByte;
Public function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PByteArray;
Public procedure Clear(const Pixel: Byte); reintroduce;
Public function IsClear(const Pixel: Byte): boolean; reintroduce;
Public procedure HalfColors;
Public function ToGrayscaleAlphaImage_AlphaConst(Alpha: byte): TGrayscaleAlphaImage;
Public procedure LerpWith(const Value: Single; SecondImage: TCastleImage); override;
Public class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4Single; const Colors: TVector4Pointer); override;
Public function AlphaChannel( const AlphaTolerance: Byte; const WrongPixelsTolerance: Single): TAlphaChannel; override;

Properties

Public property GrayscalePixels: PByte read GetGrayscalePixels;
Public property TreatAsAlpha: boolean read FTreatAsAlpha write FTreatAsAlpha;

Description

Methods

Public class function PixelSize: Cardinal; override;
 
Public class function ColorComponentsCount: Cardinal; override;
 
Public function PixelPtr(const X, Y: Cardinal; const Z: Cardinal = 0): PByte;
 
Public function RowPtr(const Y: Cardinal; const Z: Cardinal = 0): PByteArray;
 
Public procedure Clear(const Pixel: Byte); reintroduce;
 
Public function IsClear(const Pixel: Byte): boolean; reintroduce;
 
Public procedure HalfColors;

Every pixels value is halved (divided by 2). This is done by simple bitshift, so you can be sure that all components are < 2ˆ7 after this.

Public function ToGrayscaleAlphaImage_AlphaConst(Alpha: byte): TGrayscaleAlphaImage;

Create new TGrayscaleAlphaImage with grayscale channel copied from this object, and alpha channel filled with constant Alpha value.

Public procedure LerpWith(const Value: Single; SecondImage: TCastleImage); override;
 
Public class procedure MixColors(const OutputColor: Pointer; const Weights: TVector4Single; const Colors: TVector4Pointer); override;
 
Public function AlphaChannel( const AlphaTolerance: Byte; const WrongPixelsTolerance: Single): TAlphaChannel; override;
 

Properties

Public property GrayscalePixels: PByte read GetGrayscalePixels;

This is the same pointer as RawPixels, only typecasted to PByte

Public property TreatAsAlpha: boolean read FTreatAsAlpha write FTreatAsAlpha;

Should we treat grayscale image as pure alpha channel (without any color information) when using this as a texture.

This property is meaningful only for a small subset of operations, right now: only when creating OpenGL texture from this image. If True, then the grayscale pixel data will be loaded as alpha channel contents (GL_ALPHA texture for OpenGL, it modifies only the fragments alpha value, it doesn't have any "color" in the normal sense). It is also the only way for TGrayscaleImage to return AlphaChannel <> acNone.


Generated by PasDoc 0.13.0 on 2014-04-30 22:06:43