颜色 - 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()`把颜色字符串解析为颜色整数。 ## 取颜色字符串 |toString | 函数名 | 返回值 | 备注 | | ----------------- | -------- | ---------------------------------------- | | colors.toString() | 字符串 | 返回颜色值的字符串,格式为 \"#AARRGGBB\"。 | | **参数名** | **类型** | | | color颜色值 | 整数型 | 整数RGB颜色值 | colors.toString(color) * `color` {number} 整数RGB颜色值 * 返回 {string} 返回颜色值的字符串,格式为 "#AARRGGBB"。 ## 取颜色值R通道 |red | 函数名 | 返回值 | 备注 | | ------------ | ------------- | ------------------------------------ | | colors.red() | 整数型 | 返回颜色color的R通道的值,范围0~255. | | **参数名** | **类型** | | | 颜色值 | 整数型/字符串 | | colors.red(color) * `color` {number} | {string} 颜色值 * 返回 {number} 返回颜色color的R通道的值,范围0 ~ 255. ## 取颜色值G通道 |green | 函数名 | 返回值 | 备注 | | -------------- | ------------- | ------------------------------------ | | colors.green() | 整数型 | 返回颜色color的G通道的值,范围0~255. | | **参数名** | **类型** | | | 颜色值 | 整数型/字符串 | | colors.green(color) * `color` {number} | {string} 颜色值 * 返回 {number} 返回颜色color的G通道的值,范围0 ~ 255. ## 取颜色值B通道 |blue | 函数名 | 返回值 | 备注 | | ------------- | ------------- | ------------------------------------ | | colors.blue() | 整数型 | 返回颜色color的B通道的值,范围0~255. | | **参数名** | **类型** | | | 颜色值 | 整数型/字符串 | | colors.blue(color) * `color` {number} | {string} 颜色值 * 返回 {number} 返回颜色color的B通道的值,范围0 ~ 255. ## 取颜色值Alpha通道 |alpha | 函数名 | 返回值 | 备注 | | ------------------- | ------------- | ---------------------------------------- | | colors.alpha(color) | 整数型 | 返回颜色color的Alpha通道的值,范围0~255. | | **参数名** | **类型** | | | 颜色值 | 整数型/字符串 | | colors.alpha(color) * `color` {number} | {string} 颜色值 * 返回 {number} 返回颜色color的Alpha通道的值,范围0 ~ 255. ## 转整数颜色值(RGB) |rgb | 函数名 | 返回值 | 备注 | | ------------ | -------- | ------------------------------------------------------------ | | colors.rgb() | 整数型 | 返回这些颜色通道构成的整数颜色值。Alpha通道将是255(不透明)。 | | **参数名** | **类型** | | | red | 整数型 | 颜色的R通道的值 | | green | 整数型 | 颜色的G通道的值 | | blue | 整数型 | 颜色的B通道的值 | colors.rgb(red, green, blue) * red {number} 颜色的R通道的值 * blue {number} 颜色的G通道的值 * green {number} 颜色的B通道的值 * 返回 {number} 返回这些颜色通道构成的整数颜色值。Alpha通道将是255(不透明)。 ## 转整数颜色值(ARGB) |argb | 函数名 | 返回值 | 备注 | | ------------- | -------- | ---------------------------------- | | colors.argb() | 整数型 | 返回这些颜色通道构成的整数颜色值。 | | **参数名** | **类型** | | | alpha | 整数型 | 颜色的Alpha通道的值 | | red | 整数型 | 颜色的R通道的值 | | green | 整数型 | 颜色的G通道的值 | | blue | 整数型 | 颜色的B通道的值 | colors.argb(alpha, red, green, blue) * `alpha` {number} 颜色的Alpha通道的值 * `red` {number} 颜色的R通道的值 * `green` {number} 颜色的G通道的值 * `blue` {number} 颜色的B通道的值 * 返回 {number} 返回这些颜色通道构成的整数颜色值。 ## 取颜色整数值 |parseColor | 函数名 | 返回值 | 备注 | | ------------------- | -------- | ------------------------------- | | colors.parseColor() | | 返回颜色的整数值。 | | **参数名** | **类型** | | | 颜色值 | 字符串 | 表示颜色的字符串,例如\"#112233\" | colors.parseColor(colorStr) * `colorStr` {string} 表示颜色的字符串,例如"#112233" * 返回 {number} 返回颜色的整数值。 ## 判断颜色是否相似 |isSimilar | 函数名 | 返回值 | | 备注 | | ------------------ | ------------- | ------ | ------------------------------------------------------------ | | colors.isSimilar() | 布尔型 | | 返回两个颜色是否相似 | | **参数名** | **类型** | **空** | | | 颜色值1 | 整数型/字符串 | | | | 颜色值2 | 整数型/字符串 | | | | 相似度 | 整数型 | ✔ | 默认为4。取值范围为0~255。值越大相似度越小,值为0,则两个颜色相等 | | 匹配算法 | 字符串 | ✔ | 默认为\"diff\" | colors.isSimilar(color2, color2[, threshold, algorithm]) * `color1` {number} | {string} 颜色值1 * `color1` {number} | {string} 颜色值2 * `threshold` {number} 颜色相似度临界值,默认为4。取值范围为0 ~ 255。这个值越大表示允许的相似程度越小,如果这个值为0,则两个颜色相等时该函数才会返回true。 * `algorithm` {string} 颜色匹配算法,默认为"diff", 包括: * "diff": 差值匹配。与给定颜色的R、G、B差的绝对值之和小于threshold时匹配。 * "rgb": rgb欧拉距离相似度。与给定颜色color的rgb欧拉距离小于等于threshold时匹配。 * "rgb+": 加权rgb欧拉距离匹配([LAB Delta E](https://en.wikipedia.org/wiki/Color_difference))。 * "hs": hs欧拉距离匹配。hs为HSV空间的色调值。 * 返回 {Boolean} 返回两个颜色是否相似。 ## 判断颜色是否相等 |equals | 函数名 | 返回值 | 备注 | | --------------- | ------------- | -------------------- | | colors.equals() | 布尔型 | 返回两个颜色是否相等 | | **参数名** | **类型** | | | 颜色值1 | 整数型/字符串 | | | 颜色值2 | 整数型/字符串 | | colors.equals(color1, color2) * `color1` {number} | {string} 颜色值1 * `color1` {number} | {string} 颜色值2 * 返回 {Boolean} 返回两个颜色是否相等。**注意该函数会忽略Alpha通道的值进行比较*。 ``` log(colors.equals("#112233", "#112234")); log(colors.equals(0xFF112233, 0xFF223344)); ``` ## 颜色常量 ### 黑色 |colors.BLACK colors.BLACK 黑色,颜色值 #FF000000 ### 深灰色 |colors.DKGRAY colors.DKGRAY 深灰色,颜色值 #FF444444 ### 灰色 |colors.GRAY colors.GRAY 灰色,颜色值 #FF888888 ### 亮灰色 |colors.LTGRAY colors.LTGRAY 亮灰色,颜色值 #FFCCCCCC ### 白色 |colors.WHITE colors.WHITE 白色,颜色值 #FFFFFFFF ### 红色 |colors.RED colors.RED 红色,颜色值 #FFFF0000 ### 绿色 |colors.GREEN colors.GREEN 绿色,颜色值 #FF00FF00 ### 蓝色 |colors.BLUE colors.BLUE 蓝色,颜色值 #FF0000FF ### 黄色 |colors.YELLOW colors.YELLOW 黄色,颜色值 #FFFFFF00 ### 青色 |colors.CYAN colors.CYAN 青色,颜色值 #FF00FFFF ### 品红色 |colors.MAGENTA colors.MAGENTA 品红色,颜色值 #FFFF00FF ### 透明色 |colors.TRANSPARENT colors.TRANSPARENT 透明,颜色值 #00000000