类: Color
更新: 2025/7/20 字数: 0 字 时长: 0 分钟
color.Color
一个32位的颜色值,以ARGB格式表示。
目录
Constructors
Accessors
方法
- equals
- isSimilarTo
- toString
- withAlpha
- withBlue
- withGreen
- withOpacity
- withRed
- fromARGB
- fromGray
- fromRGB
- fromRGBO
- parse
Constructors
constructor
- new Color(
value
)
从整数颜色值构造一个颜色。
参数
名称 | 类型 | 描述 |
---|---|---|
value | number | 整数颜色值,格式为0xAARRGGBB |
Accessors
alpha
get
alpha():number
这个颜色的alpha值,以8位整数表示。
值为0表示这个颜色完全透明,值为255表示这个颜色完全不透明。
示例
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.alpha); // 255
返回值
number
blue
get
blue():number
这个颜色的blue值,以8位整数表示。
返回值
number
green
get
green():number
这个颜色的green值,以8位整数表示。
返回值
number
opacity
get
opacity():number
这个颜色的alpha值,以浮点数表示。
值为0.0表示这个颜色完全透明,值为1.0表示这个颜色完全不透明。
示例
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.opacity); // 1.0
返回值
number
red
get
red():number
The red channel of this color in an 8 bit value.
返回值
number
value
get
value():number
这个颜色的32位值。
- 第24-31位为alpha值
- 第16-23位为red值
- 第8-15位为green值
- 第0-7位为blue值
返回值
number
方法
equals
- equals(
obj
):boolean
比较两个颜色是否完全相等。
参数
名称 | 类型 |
---|---|
obj | Color |
返回值
boolean
两个颜色是否完全相等
isSimilarTo
- isSimilarTo(
other
,options?
):boolean
比较当前颜色是否与另一个颜色相似。
参见
示例
"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
参数
名称 | 类型 | 描述 |
---|---|---|
other | Color | 要比较的颜色 |
options? | CompareColorOptions | 比较选项 |
返回值
boolean
两个颜色是否相似
toString
- toString():
string
返回值
string
withAlpha
- withAlpha(
a
):Color
返回一个新的颜色,将原来的颜色的alpha通道的值设置为a
超出范围的值会有意外问题。
示例
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.withAlpha(0x77).toString()) // 0x77000000
参数
名称 | 类型 | 描述 |
---|---|---|
a | number | alpha通道的值,范围为0-255 |
返回值
新的颜色
withBlue
- withBlue(
b
):Color
返回一个新的颜色,将原来的颜色的blue通道的值设置为b
。
超出范围的值会有意外问题。
参数
名称 | 类型 | 描述 |
---|---|---|
b | number | blue通道的值,范围为0-255 |
返回值
新的颜色
withGreen
- withGreen(
g
):Color
返回一个新的颜色,将原来的颜色的green通道的值设置为g
。
超出范围的值会有意外问题。
参数
名称 | 类型 | 描述 |
---|---|---|
g | number | green通道的值,范围为0-255 |
返回值
新的颜色
withOpacity
- withOpacity(
opacity
):Color
返回一个新的颜色,将原来的颜色的alpha通道的透明度值设置为opacity
。
超出范围的值会有意外问题。
示例
"nodejs";
const { Color } = require('color');
const color = new Color(0xFF000000); // black
console.log(color.withOpacity(0.5).toString()) // 0x7F000000
参数
名称 | 类型 | 描述 |
---|---|---|
opacity | number | 透明度值,范围为0.0-1.0 |
返回值
新的颜色
withRed
- withRed(
r
):Color
返回一个新的颜色,将原来的颜色的red通道的值设置为r
。
超出范围的值会有意外问题。
参数
名称 | 类型 | 描述 |
---|---|---|
r | number | red通道的值,范围为0-255 |
返回值
新的颜色
fromARGB
Static
fromARGB(a
,r
,g
,b
):Color
从四个颜色通道构造一个颜色。
a
是透明度,0表示透明,255表示完全不透明。r
是[红],范围为0-255。g
是[绿],范围为0-255。b
是[蓝],范围为0-255。
超出范围的值会取255的模以保证在255范围内。
参见
fromRGBO which takes the alpha value as a floating point value.
示例
"nodejs";
const { Color } = require('color');
const red = Color.fromARGB(255, 255, 0, 0);
console.log(red.toString()) // Color(0xFFFF0000)
参数
名称 | 类型 | 描述 |
---|---|---|
a | number | alpha通道的值,范围为0-255 |
r | number | red通道的值,范围为0-255 |
g | number | green通道的值,范围为0-255 |
b | number | blue通道的值,范围为0-255 |
返回值
新的颜色
fromGray
Static
fromGray(gray
):Color
根据灰度值构造颜色,alpha通道为255,R、G、B通道均为gray的值。
示例
"nodejs";
const { Color } = require('color');
const gray = Color.fromGray(128);
console.log(gray.toString()) // Color(0xFF808080)
参数
名称 | 类型 | 描述 |
---|---|---|
gray | number | 灰度值 |
返回值
新的颜色对象
fromRGB
Static
fromRGB(r
,g
,b
):Color
从RGB颜色通道构造一个不透明颜色(alpha通道为255)。
示例
"nodejs";
const { Color } = require('color');
const red = Color.fromRGBO(255, 0, 0);
console.log(red.toString()) // Color(0xFFFF0000)
参数
名称 | 类型 | 描述 |
---|---|---|
r | number | red value |
g | number | green value |
b | number | blue value |
返回值
a new color
fromRGBO
Static
fromRGBO(r
,g
,b
,opacity
):Color
从红、绿、蓝和透明度通道构造一个颜色。
r
是[红],范围为0-255。g
是[绿],范围为0-255。b
是[蓝],范围为0-255。opacity
是透明度通道的值,0表示透明,1表示完全不透明。
超出范围的值会取255的模以保证在255范围内。
参见
fromARGB which takes the opacity as an integer value.
参数
名称 | 类型 | 描述 |
---|---|---|
r | number | red通道的值,范围为0-255 |
g | number | green通道的值,范围为0-255 |
b | number | blue通道的值,范围为0-255 |
opacity | number | alpha通道的值,范围为0-1 |
返回值
新的颜色
parse
Static
parse(color
):null
|Color
解析十六进制字符串构造一个颜色。若解析失败,则返回null。
示例
const { Color } = require('color');
const color = Color.parse('#ff0000');
console.log(color.toString());
参数
名称 | 类型 | 描述 |
---|---|---|
color | string | 颜色字符串,格式为#RRGGBB或#AARRGGBB |
返回值
null
| Color
新的颜色,或者null