颜色 - colors
在Auto.js有两种方式表示一个颜色。
一种是使用一个字符串"#AARRGGBB"或"#RRGGBB",其中 AA 是Alpha通道(透明度)的值,RR 是R通道(红色)的值,GG 是G通道(绿色)的值,BB是B通道(蓝色)的值。例如"#ffffff"表示白色, "#7F000000"表示半透明的黑色。
另一种是使用一个16进制的"32位整数" 0xAARRGGBB 来表示一个颜色,例如 `0xFF112233`表示颜色"#112233", `0x11223344`表示颜色"#11223344"。
可以通过`colors.toString()`把颜色整数转换为字符串,通过`colors.parseColor()`把颜色字符串解析为颜色整数。
## 取颜色字符串 |toString
| 函数名 | 返回值 | 备注 |
| ----------------- | -------- | ---------------------------------------- |
| colors.toString() | 字符串 | 返回颜色值的字符串,格式为 "#AARRGGBB"。 |
| **参数名** | **类型** | |
| color颜色值 | 整数型 | 整数RGB颜色值 |
## 取颜色值R通道 |red
| 函数名 | 返回值 | 备注 |
| ------------ | ------------- | ------------------------------------ |
| colors.red() | 整数型 | 返回颜色color的R通道的值,范围0~255. |
| **参数名** | **类型** | |
| 颜色值 | 整数型/字符串 | |
## 取颜色值G通道 |green
| 函数名 | 返回值 | 备注 |
| -------------- | ------------- | ------------------------------------ |
| colors.green() | 整数型 | 返回颜色color的G通道的值,范围0~255. |
| **参数名** | **类型** | |
| 颜色值 | 整数型/字符串 | |
## 取颜色值B通道 |blue
| 函数名 | 返回值 | 备注 |
| ------------- | ------------- | ------------------------------------ |
| colors.blue() | 整数型 | 返回颜色color的B通道的值,范围0~255. |
| **参数名** | **类型** | |
| 颜色值 | 整数型/字符串 | |
## 取颜色值Alpha通道 |alpha
| 函数名 | 返回值 | 备注 |
| ------------------- | ------------- | ---------------------------------------- |
| colors.alpha(color) | 整数型 | 返回颜色color的Alpha通道的值,范围0~255. |
| **参数名** | **类型** | |
| 颜色值 | 整数型/字符串 | |
## 转整数颜色值(RGB) |rgb
| 函数名 | 返回值 | 备注 |
| ------------ | -------- | ------------------------------------------------------------ |
| colors.rgb() | 整数型 | 返回这些颜色通道构成的整数颜色值。Alpha通道将是255(不透明)。 |
| **参数名** | **类型** | |
| red | 整数型 | 颜色的R通道的值 |
| green | 整数型 | 颜色的G通道的值 |
| blue | 整数型 | 颜色的B通道的值 |
## 转整数颜色值(ARGB) |argb
| 函数名 | 返回值 | 备注 |
| ------------- | -------- | ---------------------------------- |
| colors.argb() | 整数型 | 返回这些颜色通道构成的整数颜色值。 |
| **参数名** | **类型** | |
| alpha | 整数型 | 颜色的Alpha通道的值 |
| red | 整数型 | 颜色的R通道的值 |
| green | 整数型 | 颜色的G通道的值 |
| blue | 整数型 | 颜色的B通道的值 |
## 取颜色整数值 |parseColor
| 函数名 | 返回值 | 备注 |
| ------------------- | -------- | ------------------------------- |
| colors.parseColor() | | 返回颜色的整数值。 |
| **参数名** | **类型** | |
| 颜色值 | 字符串 | 表示颜色的字符串,例如"#112233" |
## 判断颜色是否相似 |isSimilar
| 函数名 | 返回值 | | 备注 |
| ------------------ | ------------- | ------ | ------------------------------------------------------------ |
| colors.isSimilar() | 布尔型 | | 返回两个颜色是否相似 |
| **参数名** | **类型** | **空** | |
| 颜色值1 | 整数型/字符串 | | |
| 颜色值2 | 整数型/字符串 | | |
| 相似度 | 整数型 | ✔ | 默认为4。取值范围为0~255。值越大相似度越小,值为0,则两个颜色相等 |
| 匹配算法 | 字符串 | ✔ | 默认为"diff" |
```js
colors.isSimilar('#AARRGGBB','#AARRGGBB',5);
颜色匹配算法:
"diff": 差值匹配。与给定颜色的R、G、B差的绝对值之和小于threshold时匹配。
"rgb": rgb欧拉距离相似度。与给定颜色color的rgb欧拉距离小于等于threshold时匹配。
"rgb+": 加权rgb欧拉距离匹配(LAB Delta E)。
"hs": hs欧拉距离匹配。hs为HSV空间的色调值。
```
## 判断颜色是否相等 |equals
| 函数名 | 返回值 | 备注 |
| --------------- | ------------- | -------------------- |
| colors.equals() | 布尔型 | 返回两个颜色是否相等 |
| **参数名** | **类型** | |
| 颜色值1 | 整数型/字符串 | |
| 颜色值2 | 整数型/字符串 | |
```javascript
log(colors.equals("#112233", "#112234"));
log(colors.equals(0xFF112233, 0xFF223344));
*注意该函数会忽略Alpha通道的值进行比较。
```
## 颜色常量
### 黑色 |colors.BLACK
```javascript
黑色,颜色值 #FF000000
```
### 深灰色 |colors.DKGRAY
```javascript
深灰色,颜色值 #FF444444
```
### 灰色 |colors.GRAY
```javascript
灰色,颜色值 #FF888888
```
### 亮灰色 |colors.LTGRAY
```javascript
亮灰色,颜色值 #FFCCCCCC
```
### 白色 |colors.WHITE
```javascript
白色,颜色值 #FFFFFFFF
```
### 红色 |colors.RED
```javascript
红色,颜色值 #FFFF0000
```
### 绿色 |colors.GREEN
```javascript
绿色,颜色值 #FF00FF00
```
### 蓝色 |colors.BLUE
```javascript
蓝色,颜色值 #FF0000FF
```
### 黄色 |colors.YELLOW
```javascript
黄色,颜色值 #FFFFFF00
```
### 青色 |colors.CYAN
```javascript
青色,颜色值 #FF00FFFF
```
### 品红色 |colors.MAGENTA
```javascript
品红色,颜色值 #FFFF00FF
```
### 透明色 |colors.TRANSPARENT
```javascript
透明,颜色值 #00000000
```