Class: Color
CloudControl Pro 9 Docs / color / Color
Class: Color
color.Color
An immutable 32 bit color value in ARGB format.
Table of contents
Constructors
Accessors
Methods
- equals
- isSimilarTo
- toString
- withAlpha
- withBlue
- withGreen
- withOpacity
- withRed
- fromARGB
- fromGray
- fromRGB
- fromRGBO
- parse
Constructors
constructor
• new Color(value)
Constructs a color from an integer value.
Parameters
| Name | Type | Description |
|---|---|---|
value |
number |
An integer value, formatted as 0xAARRGGBB |
Accessors
alpha
• get alpha(): number
The alpha channel of this color in an 8 bit value.
A value of 0 means this color is fully transparent. A value of 255 means this color is fully opaque.
Example
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.alpha); // 255
Returns
number
blue
• get blue(): number
The blue channel of this color in an 8 bit value.
Returns
number
green
• get green(): number
The green channel of this color in an 8 bit value.
Returns
number
opacity
• get opacity(): number
The alpha channel of this color as a floating value.
A value of 0.0 means this color is fully transparent. A value of 1.0 means this color is fully opaque.
Example
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.opacity); // 1.0
Returns
number
red
• get red(): number
The red channel of this color in an 8 bit value.
Returns
number
value
• get value(): number
A 32 bit value representing this color.
The bits are assigned as follows:
- Bits 24-31 are the alpha value.
- Bits 16-23 are the red value.
- Bits 8-15 are the green value.
- Bits 0-7 are the blue value.
Returns
number
Methods
equals
▸ equals(obj): boolean
Compare two colors is equal, including alpha channel.
Parameters
| Name | Type |
|---|---|
obj |
Color |
Returns
boolean
two colors are equal
isSimilarTo
▸ isSimilarTo(other, options?): boolean
比较当前颜色是否与另一个颜色相似。
See
Example
"nodejs";
const { Color } = require('color');
const black = new Color(0xFF000000);
const white = Color.parse('#FFFFFF');
const black09 = Color.parse('#090909');
console.log(black.isSimilarTo(white)) // false
console.log(black.isSimilarTo(black09)) // true
console.log(black.isSimilarTo(black09, { threshold: 5 })) // false
Parameters
| Name | Type | Description |
|---|---|---|
other |
Color |
要比较的颜色 |
options? |
CompareColorOptions |
比较选项 |
Returns
boolean
两个颜色是否相似
toString
▸ toString(): string
Returns
string
withAlpha
▸ withAlpha(a): Color
Returns a new color that matches this color with the alpha channel replaced with a (which ranges from 0 to 255).
Out of range values will have unexpected effects.
Example
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.withAlpha(0x77).toString()) // 0x77000000
Parameters
| Name | Type | Description |
|---|---|---|
a |
number |
alpha channel |
Returns
a new color
withBlue
▸ withBlue(b): Color
Returns a new color that matches this color with the blue channel replaced with b (which ranges from 0 to 255).
Out of range values will have unexpected effects.
Parameters
| Name | Type | Description |
|---|---|---|
b |
number |
blue channel |
Returns
a new color
withGreen
▸ withGreen(g): Color
Returns a new color that matches this color with the green channel replaced with g (which ranges from 0 to 255).
Out of range values will have unexpected effects.
Parameters
| Name | Type | Description |
|---|---|---|
g |
number |
green channel |
Returns
a new color
withOpacity
▸ withOpacity(opacity): Color
Returns a new color that matches this color with the alpha channel replaced with the given opacity (which ranges from 0.0 to 1.0).
Out of range values will have unexpected effects.
Example
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.withOpacity(0.5).toString()) // 0x7F000000
Parameters
| Name | Type | Description |
|---|---|---|
opacity |
number |
opacity value |
Returns
a new color
withRed
▸ withRed(r): Color
Returns a new color that matches this color with the red channel replaced with r (which ranges from 0 to 255).
Out of range values will have unexpected effects.
Parameters
| Name | Type | Description |
|---|---|---|
r |
number |
red channel |
Returns
a new color
fromARGB
▸ Static fromARGB(a, r, g, b): Color
Construct a color from the lower 8 bits of four integers.
ais the alpha value, with 0 being transparent and 255 being fully opaque.ris [red], from 0 to 255.gis [green], from 0 to 255.bis [blue], from 0 to 255.
Out of range values are brought into range using modulo 255.
See
fromRGBO which takes the alpha value as a floating point value.
Example
"nodejs";
const { Color } = require('color');
const red = Color.fromARGB(255, 255, 0, 0);
console.log(red.toString()) // Color(0xFFFF0000)
Parameters
| Name | Type | Description |
|---|---|---|
a |
number |
alpha value |
r |
number |
red value |
g |
number |
green value |
b |
number |
blue value |
Returns
a new color
fromGray
▸ Static fromGray(gray): Color
Construct a color from a grayscale value. The alpha channel is set to 255, and the R, G, and B channels are set to the same value.
Example
"nodejs";
const { Color } = require('color');
const gray = Color.fromGray(128);
console.log(gray.toString()) // Color(0xFF808080)
Parameters
| Name | Type | Description |
|---|---|---|
gray |
number |
the grayscale value |
Returns
a new color
fromRGB
▸ Static fromRGB(r, g, b): Color
Construct a color from RGB channels. The alpha channel is set to 255.
Example
"nodejs";
const { Color } = require('color');
const red = Color.fromRGBO(255, 0, 0);
console.log(red.toString()) // Color(0xFFFF0000)
Parameters
| Name | Type | Description |
|---|---|---|
r |
number |
红色通道的值,范围为0-255 |
g |
number |
绿色通道的值,范围为0-255 |
b |
number |
蓝色通道的值,范围为0-255 |
Returns
新的颜色对象
fromRGBO
▸ Static fromRGBO(r, g, b, opacity): Color
Create a color from red, green, blue, and opacity, similar to rgba() in CSS.
ris [red], from 0 to 255.gis [green], from 0 to 255.bis [blue], from 0 to 255.opacityis alpha channel of this color as a double, with 0.0 being transparent and 1.0 being fully opaque.
Out of range values are brought into range using modulo 255.
See
fromARGB which takes the opacity as an integer value.
Parameters
| Name | Type | Description |
|---|---|---|
r |
number |
red value |
g |
number |
green value |
b |
number |
blue value |
opacity |
number |
alpha value |
Returns
a new color
parse
▸ Static parse(color): null | Color
Parse a color from a hex string, such as #RRGGBB or #AARRGGBB.
Example
const { Color } = require('color');
const color = Color.parse('#ff0000');
console.log(color.toString());
Parameters
| Name | Type | Description |
|---|---|---|
color |
string |
颜色字符串,格式为#RRGGBB或#AARRGGBB |
Returns
null | Color
新的颜色,或者null
