颜色 - Colors
# Colors
> Stability: 2 - Stable
在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()把颜色字符串解析为颜色整数。
## colors.toString(color)
- color {number} 整数RGB颜色值
返回 {string}
返回颜色值的字符串,格式为 "#AARRGGBB"。
## colors.red(color)
- color {number} | {string} 颜色值
返回 {number}
返回颜色color的R通道的值,范围0~255.
## colors.green(color)
- color {number} | {string} 颜色值
返回 {number}
返回颜色color的G通道的值,范围0~255.
## colors.blue(color)
- color {number} | {string} 颜色值
返回 {number}
返回颜色color的B通道的值,范围0~255.
## colors.alpha(color)
- color {number} | {string} 颜色值
返回 {number}
返回颜色color的Alpha通道的值,范围0~255.
## colors.rgb(red, green, blue)
- red {number} 颜色的R通道的值
- blue {number} 颜色的G通道的值
- green {number} 颜色的B通道的值
返回 {number}
返回这些颜色通道构成的整数颜色值。Alpha通道将是255(不透明)。
## colors.argb(alpha, red, green, blue)
- alpha {number} 颜色的Alpha通道的值
- red {number} 颜色的R通道的值
- green {number} 颜色的G通道的值
- blue {number} 颜色的B通道的值
返回 {number}
返回这些颜色通道构成的整数颜色值。
## colors.parseColor(colorStr)
- colorStr {string} 表示颜色的字符串,例如"#112233"
返回 {number}
返回颜色的整数值。
## colors.isSimilar(color2, color2[, threshold, algorithm])
- color1 {number} | {string} 颜色值1
- color1 {number} | {string} 颜色值2
- threshold {number} 颜色相似度临界值,默认为4。取值范围为0~255。这个值越大表示允许的相似程度越小,如果这个值为0,则两个颜色相等时该函数才会返回true。
- algorithm {string} 颜色匹配算法,默认为"diff", 包括:
1. "diff": 差值匹配。与给定颜色的R、G、B差的绝对值之和小于threshold时匹配。
2. "rgb": rgb欧拉距离相似度。与给定颜色color的rgb欧拉距离小于等于threshold时匹配。
3. "rgb+": 加权rgb欧拉距离匹配(LAB Delta E)。
4. "hs": hs欧拉距离匹配。hs为HSV空间的色调值。
返回 {Boolean}
返回两个颜色是否相似。
判断某音作品是否已经点赞:
```javascript
//此代码由飞云脚本圈www.feiyunjs.com原创
var img = captureScreen();
// log(images.pixel(img, x, y), x, y)
//取坐标点颜色值,对比是否相似
if (colors.isSimilar(images.pixel(img, x, y), -119723)) {
console.verbose('已赞过,无需点赞');
} else if (click(x, y)) {
console.verbose('执行点赞');
}
```
## colors.equals(color1, color2)
- color1 {number} | {string} 颜色值1
- color1 {number} | {string} 颜色值2
返回 {Boolean}
返回两个颜色是否相等。*注意该函数会忽略Alpha通道的值进行比较。
```js
log(colors.equals("#112233", "#112234"));
log(colors.equals(0xFF112233, 0xFF223344));
```
## colors.BLACK
黑色,颜色值 #FF000000
## colors.DKGRAY
深灰色,颜色值 #FF444444
## colors.GRAY
灰色,颜色值 #FF888888
## colors.LTGRAY
亮灰色,颜色值 #FFCCCCCC
## colors.WHITE
白色,颜色值 #FFFFFFFF
## colors.RED
红色,颜色值 #FFFF0000
## colors.GREEN
绿色,颜色值 #FF00FF00
## colors.BLUE
蓝色,颜色值 #FF0000FF
## colors.YELLOW
黄色,颜色值 #FFFFFF00
## colors.CYAN
青色,颜色值 #FF00FFFF
## colors.MAGENTA
品红色,颜色值 #FFFF00FF
## colors.TRANSPARENT
透明,颜色值 #00000000