Castle Game Engine: CastleColors

# Unit CastleColors
Description | Uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables
## Description Color utilities, including HSV <-> RGB convertion. ## Uses Math CastleVectors ## Overview ### Functions and Procedures
`function GrayscaleValue(const v: TCastleColorRGB): Single; overload;`
`function GrayscaleValue(const v: TVector3Byte): Byte; overload;`
`function GrayscaleValue(const v: TCastleColor): Single; overload;`
`function Grayscale(const v: TCastleColorRGB): TCastleColorRGB; overload;`
`function Grayscale(const v: TVector3Byte): TVector3Byte; overload;`
`function Grayscale(const v: TCastleColor): TCastleColor; overload;`
`function ColorGrayscaleByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorRedConvertByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorGreenConvertByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorBlueConvertByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorRedStripByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorGreenStripByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorBlueStripByte(const Color: TVector3Byte): TVector3Byte;`
`function HsvToRgb(const Value: TVector3Single): TVector3Single;`
`function RgbToHsv(const Value: TVector3Single): TVector3Single;`
`function RgbToHsv(const Value: TVector3Byte): TVector3Single;`
`function HsvToRgbByte(const Value: TVector3Single): TVector3Byte;`
`function LerpRgbInHsv(const A: Single; const V1, V2: TVector3Single): TVector3Single;`
`function ColorToHex(const V: TCastleColor): string;`
`function ColorRGBToHex(const V: TCastleColorRGB): string;`
`function HexToColor(const S: string): TCastleColor;`
`function HexToColorRGB(const S: string): TCastleColorRGB;`
### Types
`TCastleColor = TVector4Single;`
`TCastleColorRGB = TVector3Single;`
`TColorModulatorByteFunc = function (const Color: TVector3Byte): TVector3Byte;`
### Constants
`Maroon : TCastleColor = ( 0.5 , 0.0 , 0.0 , 1.0);`
`Red : TCastleColor = ( 1.0 , 0.0 , 0.0 , 1.0);`
`Orange : TCastleColor = ( 1.0 , 0.65, 0.0 , 1.0);`
`Yellow : TCastleColor = ( 1.0 , 1.0 , 0.0 , 1.0);`
`Olive : TCastleColor = ( 0.5 , 0.5 , 0.0 , 1.0);`
`Purple : TCastleColor = ( 0.5 , 0.0 , 0.5 , 1.0);`
`Fuchsia: TCastleColor = ( 1.0 , 0.0 , 1.0 , 1.0);`
`White : TCastleColor = ( 1.0 , 1.0 , 1.0 , 1.0);`
`Lime : TCastleColor = ( 0.0 , 1.0 , 0.0 , 1.0);`
`Green : TCastleColor = ( 0.0 , 0.5 , 0.0 , 1.0);`
`Navy : TCastleColor = ( 0.0 , 0.0 , 0.5 , 1.0);`
`Blue : TCastleColor = ( 0.0 , 0.0 , 1.0 , 1.0);`
`Aqua : TCastleColor = ( 0.0 , 1.0 , 1.0 , 1.0);`
`Teal : TCastleColor = ( 0.0 , 0.5 , 0.5 , 1.0);`
`Black : TCastleColor = ( 0.0 , 0.0 , 0.0 , 1.0);`
`Silver : TCastleColor = ( 0.75, 0.75, 0.75, 1.0);`
`Gray : TCastleColor = ( 0.5 , 0.5 , 0.5 , 1.0);`
`LightGreen: TCastleColor = ( 0.33, 1.0 , 0.33, 1.0);`
`LightBlue : TCastleColor = ( 0.33, 0.33, 1.0 , 1.0);`
`WhiteRGB : TCastleColorRGB = ( 1.0 , 1.0 , 1.0);`
`BlackRGB : TCastleColorRGB = ( 0.0 , 0.0 , 0.0);`
`RedRGB : TCastleColorRGB = ( 1.0 , 0.0 , 0.0);`
`GreenRGB : TCastleColorRGB = ( 0.0 , 0.5 , 0.0);`
`BlueRGB : TCastleColorRGB = ( 0.0 , 0.0 , 1.0);`
`White3Single : TCastleColorRGB = ( 1.0 , 1.0 , 1.0) deprecated;`
`Black3Single : TCastleColorRGB = ( 0.0 , 0.0 , 0.0) deprecated;`
`Red3Single : TCastleColorRGB = ( 1.0 , 0.0 , 0.0) deprecated;`
`Green3Single : TCastleColorRGB = ( 0.0 , 0.5 , 0.0) deprecated;`
`Blue3Single : TCastleColorRGB = ( 0.0 , 0.0 , 1.0) deprecated;`
## Description ### Functions and Procedures
`function GrayscaleValue(const v: TCastleColorRGB): Single; overload;`
Calculate color intensity, for converting color to grayscale.
`function GrayscaleValue(const v: TVector3Byte): Byte; overload;`
`function GrayscaleValue(const v: TCastleColor): Single; overload;`
`function Grayscale(const v: TCastleColorRGB): TCastleColorRGB; overload;`
`function Grayscale(const v: TVector3Byte): TVector3Byte; overload;`
`function Grayscale(const v: TCastleColor): TCastleColor; overload;`
`function ColorGrayscaleByte(const Color: TVector3Byte): TVector3Byte;`
Convert color to grayscale.
`function ColorRedConvertByte(const Color: TVector3Byte): TVector3Byte;`
Place color intensity (calculated like for grayscale) into the given color component. Set the other components zero.
`function ColorGreenConvertByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorBlueConvertByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorRedStripByte(const Color: TVector3Byte): TVector3Byte;`
Set color values for two other channels to 0. Note that it's something entirely different than ImageConvertToChannelTo1st: here we preserve original channel values, and remove values on two other channels.
`function ColorGreenStripByte(const Color: TVector3Byte): TVector3Byte;`
`function ColorBlueStripByte(const Color: TVector3Byte): TVector3Byte;`
`function HsvToRgb(const Value: TVector3Single): TVector3Single;`
Converting between RGB and HSV. For HSV, we keep components as floating-point values, with hue in 0..6 range, saturation and value in 0..1. For RGB, one version keeps components as bytes (0..255 range), and the other as floating-point values (0..1 range).
`function RgbToHsv(const Value: TVector3Single): TVector3Single;`
`function RgbToHsv(const Value: TVector3Byte): TVector3Single;`
`function HsvToRgbByte(const Value: TVector3Single): TVector3Byte;`
`function LerpRgbInHsv(const A: Single; const V1, V2: TVector3Single): TVector3Single;`
Given two colors in RGB, interpolate them in HSV space.
`function ColorToHex(const V: TCastleColor): string;`
Change color into a hexadecimal notation of it (like in HTML). This color includes an alpha channel (as 4th component), and so the output contains the alpha value at the end (so it's 8 hex digits), unless alpha is opaque in which case it's not written (and result is 6 hex digits).
`function ColorRGBToHex(const V: TCastleColorRGB): string;`
Change color into a hexadecimal notation of it (like in HTML). This color has no alpha channel, so it's always 6 hex digits.
`function HexToColor(const S: string): TCastleColor;`
Convert hexadecimal color notation (like in HTML) into an RGBA color. Handles 8 or 6 digit color (RGB or RGBA with 2 letters per component; for 6 digits, alpha is assumed to be 1.0 (opaque)). ###### Exceptions raised `EConvertError` In case of invalid color as string.
`function HexToColorRGB(const S: string): TCastleColorRGB;`
Convert hexadecimal color notation (like in HTML) into an RGB color. Handles 8 or 6 digit color (RGB or RGBA with 2 letters per component; for 8 digits, alpha is ignored). ###### Exceptions raised `EConvertError` In case of invalid color as string.
### Types
`TCastleColor = TVector4Single;`
`TCastleColorRGB = TVector3Single;`
`TColorModulatorByteFunc = function (const Color: TVector3Byte): TVector3Byte;`
Function that processes RGB colors, used by TCastleImage.ModulateRGB.
### Constants
`Maroon : TCastleColor = ( 0.5 , 0.0 , 0.0 , 1.0);`
Common color constants, for comfort. They follow the CSS colors constants [http://www.w3.org/TR/CSS21/syndata.html#color-units].
`Red : TCastleColor = ( 1.0 , 0.0 , 0.0 , 1.0);`
`Orange : TCastleColor = ( 1.0 , 0.65, 0.0 , 1.0);`
`Yellow : TCastleColor = ( 1.0 , 1.0 , 0.0 , 1.0);`
`Olive : TCastleColor = ( 0.5 , 0.5 , 0.0 , 1.0);`
`Purple : TCastleColor = ( 0.5 , 0.0 , 0.5 , 1.0);`
`Fuchsia: TCastleColor = ( 1.0 , 0.0 , 1.0 , 1.0);`
`White : TCastleColor = ( 1.0 , 1.0 , 1.0 , 1.0);`
`Lime : TCastleColor = ( 0.0 , 1.0 , 0.0 , 1.0);`
`Green : TCastleColor = ( 0.0 , 0.5 , 0.0 , 1.0);`
`Navy : TCastleColor = ( 0.0 , 0.0 , 0.5 , 1.0);`
`Blue : TCastleColor = ( 0.0 , 0.0 , 1.0 , 1.0);`
`Aqua : TCastleColor = ( 0.0 , 1.0 , 1.0 , 1.0);`
`Teal : TCastleColor = ( 0.0 , 0.5 , 0.5 , 1.0);`
`Black : TCastleColor = ( 0.0 , 0.0 , 0.0 , 1.0);`
`Silver : TCastleColor = ( 0.75, 0.75, 0.75, 1.0);`
`Gray : TCastleColor = ( 0.5 , 0.5 , 0.5 , 1.0);`
`LightGreen: TCastleColor = ( 0.33, 1.0 , 0.33, 1.0);`
`LightBlue : TCastleColor = ( 0.33, 0.33, 1.0 , 1.0);`
`WhiteRGB : TCastleColorRGB = ( 1.0 , 1.0 , 1.0);`
`BlackRGB : TCastleColorRGB = ( 0.0 , 0.0 , 0.0);`
`RedRGB : TCastleColorRGB = ( 1.0 , 0.0 , 0.0);`
`GreenRGB : TCastleColorRGB = ( 0.0 , 0.5 , 0.0);`
`BlueRGB : TCastleColorRGB = ( 0.0 , 0.0 , 1.0);`
`White3Single : TCastleColorRGB = ( 1.0 , 1.0 , 1.0) deprecated;`
Warning: this symbol is deprecated. Deprecated, use WhiteRGB.
`Black3Single : TCastleColorRGB = ( 0.0 , 0.0 , 0.0) deprecated;`
Warning: this symbol is deprecated. Deprecated, use BlackRGB.
`Red3Single : TCastleColorRGB = ( 1.0 , 0.0 , 0.0) deprecated;`
Warning: this symbol is deprecated. Deprecated, use RedRGB.
`Green3Single : TCastleColorRGB = ( 0.0 , 0.5 , 0.0) deprecated;`
Warning: this symbol is deprecated. Deprecated, use GreenRGB.
`Blue3Single : TCastleColorRGB = ( 0.0 , 0.0 , 1.0) deprecated;`
Warning: this symbol is deprecated. Deprecated, use BlueRGB.
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:09