Class: ColorUtils
Defined in: src/sdk/graphics/color/ColorUtils.ts:6
A utility class for working with colors.
Constructors
Constructor
new ColorUtils():
ColorUtils
Returns
ColorUtils
Methods
gradientHex()
static
gradientHex<T
>(color1
,color2
): (fraction
) =>T
Defined in: src/sdk/graphics/color/ColorUtils.ts:469
Creates a function that linearly interpolates between two colors in the RGB colorspace.
Type Parameters
Type Parameter | Default type |
---|---|
T | string | number |
Parameters
Parameter | Type | Description |
---|---|---|
color1 | T | The first color to interpolate between. |
color2 | T | The second color to interpolate between. |
Returns
A function that linearly interpolates between the two specified colors in the RGB colorspace.
(
fraction
):T
Parameters
Parameter | Type |
---|---|
fraction | number |
Returns
T
hexNumberToString()
static
hexNumberToString(hex
,reverse
):string
Defined in: src/sdk/graphics/color/ColorUtils.ts:65
Converts a numeric representation of a hex color to a string.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
hex | number | undefined | The numeric hex color to convert. The color will be interpreted as an integer with the value (red << 16) + (green << 8) + (blue << 0) . Bits with value greater than or equal to 1 << 24 will be discarded. |
reverse | boolean | false | Whether to interpret the numeric hex color with reversed components. If true , then the numeric hex color will be interpreted as (blue << 16) + (green << 8) + (red << 0) . Defaults to false . |
Returns
string
The string form of the specified numeric hex color.
hexStringToNumber()
static
hexStringToNumber(hex
,reverse
):number
Defined in: src/sdk/graphics/color/ColorUtils.ts:39
Converts a hex color string to its numeric representation. The numeric hex color is equal to
(red << 16) + (green << 8) + (blue << 0)
.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
hex | string | undefined | The hex color string to convert. The string should be a sequence of exactly six hexadecimal characters optionally prefixed with # . |
reverse | boolean | false | Whether to reverse the order in which the red, green, and blue components are concatenated in the numeric representation. If true , then the numeric hex color will equal (blue << 16) + (green << 8) + (red << 0) . Defaults to false . |
Returns
number
The numeric representation of the specified hex color string.
Throws
Error if the string is improperly formatted.
hexToHsl()
static
hexToHsl<T
>(hex
,out
,reverse
):T
Defined in: src/sdk/graphics/color/ColorUtils.ts:318
Converts a hex color to hue, saturation, and lightness (HSL) components. Hue is expressed in degrees (0 to 360), and saturation and lightness are expressed as fractions (0 to 1).
Type Parameters
Type Parameter |
---|
T extends Float64Array | number [] |
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
hex | string | number | undefined | The hex color to convert, either as a string containing a sequence of exactly six hexadecimal characters optionally prefixed with # or a numeric value equal to (red << 16) + (green << 8) + (blue << 0) (bits with value greater than or equal to 1 << 24 will be discarded). |
out | T | undefined | The array to which to write the results. |
reverse | boolean | false | Whether to interpret the numeric hex color with reversed components. If true , then the numeric hex color will be interpreted as (blue << 16) + (green << 8) + (red << 0) . Ignored if hex is a string. Defaults to false . |
Returns
T
The hue, saturation, and lightness (HSL) color components of the specified hex color, as [h, s, l]
.
Throws
Error if the specified hex color is an improperly formatted string.
hexToRgb()
static
hexToRgb<T
>(hex
,out
,reverse
):T
Defined in: src/sdk/graphics/color/ColorUtils.ts:85
Converts a hex color to red, green, and blue (RGB) components. Each component is expressed in the range 0 to 255.
Type Parameters
Type Parameter |
---|
T extends Float64Array | number [] |
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
hex | string | number | undefined | The hex color to convert, either as a string containing a sequence of exactly six hexadecimal characters optionally prefixed with # or a numeric value equal to (red << 16) + (green << 8) + (blue << 0) (bits with value greater than or equal to 1 << 24 will be discarded). |
out | T | undefined | The array to which to write the results. |
reverse | boolean | false | Whether to interpret the numeric hex color with reversed components. If true , then the numeric hex color will be interpreted as (blue << 16) + (green << 8) + (red << 0) . Ignored if hex is a string. Defaults to false . |
Returns
T
The red, green, and blue (RGB) components of the specified hex color, as [r, g, b]
.
Throws
Error if the specified hex color is an improperly formatted string.
hslToHex()
Call Signature
static
hslToHex(hsl
,reverse?
):number
Defined in: src/sdk/graphics/color/ColorUtils.ts:334
Converts hue, saturation, and lightness (HSL) color components to a numeric hex color. The numeric hex color is
equal to (red << 16) + (green << 8) + (blue << 0)
.
Parameters
Parameter | Type | Description |
---|---|---|
hsl | Float64Array | number [] | The HSL color to convert, as [h, s, l] . Hue should be expressed in degrees, and saturation and lightness should be expressed as fractions in the range 0 to 1. |
reverse? | boolean | Whether to reverse the order in which the red, green, and blue components are concatenated in the numeric representation. If true , then the numeric hex color will equal (blue << 16) + (green << 8) + (red << 0) . Defaults to false . |
Returns
number
The numeric hex color representation of the specified HSL color.
Call Signature
static
hslToHex(h
,s
,l
,reverse?
):number
Defined in: src/sdk/graphics/color/ColorUtils.ts:346
Converts hue, saturation, and lightness (HSL) color components to a numeric hex color. The numeric hex color is
equal to (red << 16) + (green << 8) + (blue << 0)
.
Parameters
Parameter | Type | Description |
---|---|---|
h | number | The hue component of the color to convert, in degrees. |
s | number | The saturation component of the color to convert, as a fraction in the range 0 to 1. |
l | number | The lightness component of the color to convert, as a fraction in the range 0 to 1. |
reverse? | boolean | Whether to reverse the order in which the red, green, and blue components are concatenated in the numeric representation. If true , then the numeric hex color will equal (blue << 16) + (green << 8) + (red << 0) . Defaults to false . |
Returns
number
The numeric hex color representation of the specified HSL color.
hslToRgb()
Call Signature
static
hslToRgb<T
>(hsl
,out
):T
Defined in: src/sdk/graphics/color/ColorUtils.ts:230
Converts hue, saturation, and lightness (HSL) color components to red, green, and blue (RGB) components. Each RGB component is expressed in the range 0 to 255.
Type Parameters
Type Parameter |
---|
T extends Float64Array | number [] |
Parameters
Parameter | Type | Description |
---|---|---|
hsl | Float64Array | number [] | The HSL color to convert, as [h, s, l] . Hue should be expressed in degrees, and saturation and lightness should be expressed as fractions in the range 0 to 1. |
out | T | The array to which to write the results. |
Returns
T
The red, green, and blue (RGB) color components of the specified HSL color, as [r, g, b]
.
Call Signature
static
hslToRgb<T
>(h
,s
,l
,out
):T
Defined in: src/sdk/graphics/color/ColorUtils.ts:240
Converts hue, saturation, and lightness (HSL) color components to red, green, and blue (RGB) components. Each RGB component is expressed in the range 0 to 255.
Type Parameters
Type Parameter |
---|
T extends Float64Array | number [] |
Parameters
Parameter | Type | Description |
---|---|---|
h | number | The hue component of the color to convert, in degrees. |
s | number | The saturation component of the color to convert, as a fraction in the range 0 to 1. |
l | number | The lightness component of the color to convert, as a fraction in the range 0 to 1. |
out | T | The array to which to write the results. |
Returns
T
The red, green, and blue (RGB) color components of the specified HSL color, as [r, g, b]
.
interpolateHex()
Call Signature
static
interpolateHex<T
>(color1
,color2
,fraction
):T
Defined in: src/sdk/graphics/color/ColorUtils.ts:370
Linearly interpolates between two hex colors in the RGB colorspace.
Type Parameters
Type Parameter | Default type |
---|---|
T | string | number |
Parameters
Parameter | Type | Description |
---|---|---|
color1 | T | The first color to interpolate between. |
color2 | T | The second color to interpolate between. |
fraction | number | The position between the two colors at which to generate the interpolated color, as a number in the range [0, 1] . A value of 0 is equivalent to the first color, and a value of 1 is equivalent to the second color. |
Returns
T
The color that is the result of interpolating between the two specified colors at the specified position.
Call Signature
static
interpolateHex<T
>(color1
,color2
,fraction
,out?
):T
[]
Defined in: src/sdk/graphics/color/ColorUtils.ts:383
Linearly interpolates between two hex colors in the RGB colorspace.
Type Parameters
Type Parameter | Default type |
---|---|
T | string | number |
Parameters
Parameter | Type | Description |
---|---|---|
color1 | T | The first color to interpolate between. |
color2 | T | The second color to interpolate between. |
fraction | readonly number [] | An array of positions between the two colors at which to generate interpolated colors. Each position is a number in the range [0, 1] . A value of 0 is equivalent to the first color, and a value of 1 is equivalent to the second color. |
out? | T [] | The array to which to write the interpolated colors. |
Returns
T
[]
An array of colors that are the result of interpolating between the two specified colors at the positions
specified by fraction
. The index of each color in the array matches the index of the position used to generate
it in fraction
.
reverseHexNumber()
static
reverseHexNumber(hex
):number
Defined in: src/sdk/graphics/color/ColorUtils.ts:24
Reverses the order of concatenation of the red, green, and blue components in a numeric hex color. A value equal
to (red << 16) + (green << 8) + (blue << 0)
will be converted to (blue << 16) + (green << 8) + (red << 0)
and
vice versa.
Parameters
Parameter | Type | Description |
---|---|---|
hex | number | The numeric hex color to reverse. |
Returns
number
The specified numeric hex color with the concatenation order of red, green, and blue components reversed.
rgbToHex()
Call Signature
static
rgbToHex(rgb
,reverse?
):number
Defined in: src/sdk/graphics/color/ColorUtils.ts:114
Converts red, green, and blue (RGB) color components to a numeric hex color. The numeric hex color is equal to
(red << 16) + (green << 8) + (blue << 0)
.
Parameters
Parameter | Type | Description |
---|---|---|
rgb | Float64Array | number [] | The RGB color to convert, as [r, g, b] . Each component should be in the range 0 to 255. |
reverse? | boolean | Whether to reverse the order in which the red, green, and blue components are concatenated in the numeric representation. If true , then the numeric hex color will equal (blue << 16) + (green << 8) + (red << 0) . Defaults to false . |
Returns
number
The numeric hex color representation of the specified RGB color.
Call Signature
static
rgbToHex(r
,g
,b
,reverse?
):number
Defined in: src/sdk/graphics/color/ColorUtils.ts:126
Converts red, green, and blue (RGB) color components to a numeric hex color. The numeric hex color is equal to
(red << 16) + (green << 8) + (blue << 0)
.
Parameters
Parameter | Type | Description |
---|---|---|
r | number | The red component of the color to convert, in the range 0 to 255. |
g | number | The green component of the color to convert, in the range 0 to 255. |
b | number | The blue component of the color to convert, in the range 0 to 255. |
reverse? | boolean | Whether to reverse the order in which the red, green, and blue components are concatenated in the numeric representation. If true , then the numeric hex color will equal (blue << 16) + (green << 8) + (red << 0) . Defaults to false . |
Returns
number
The numeric hex color representation of the specified RGB color.
rgbToHsl()
Call Signature
static
rgbToHsl<T
>(rgb
,out
):T
Defined in: src/sdk/graphics/color/ColorUtils.ts:165
Converts red, green, and blue (RGB) color components to hue, saturation, and lightness (HSL) components. Hue is expressed in degrees (0 to 360), and saturation and lightness are expressed as fractions (0 to 1).
Type Parameters
Type Parameter |
---|
T extends Float64Array | number [] |
Parameters
Parameter | Type | Description |
---|---|---|
rgb | Float64Array | number [] | The RGB color to convert, as [r, g, b] . Each component should be in the range 0 to 255. |
out | T | The array to which to write the results. |
Returns
T
The hue, saturation, and lightness (HSL) color components of the specified RGB color, as [h, s, l]
.
Call Signature
static
rgbToHsl<T
>(r
,g
,b
,out
):T
Defined in: src/sdk/graphics/color/ColorUtils.ts:175
Converts red, green, and blue (RGB) color components to hue, saturation, and lightness (HSL) components. Hue is expressed in degrees (0 to 360), and saturation and lightness are expressed as fractions (0 to 1).
Type Parameters
Type Parameter |
---|
T extends Float64Array | number [] |
Parameters
Parameter | Type | Description |
---|---|---|
r | number | The red component of the color to convert, in the range 0 to 255. |
g | number | The green component of the color to convert, in the range 0 to 255. |
b | number | The blue component of the color to convert, in the range 0 to 255. |
out | T | The array to which to write the results. |
Returns
T
The hue, saturation, and lightness (HSL) color components of the specified RGB color, as [h, s, l]
.