$color - 颜色操作

  • 更新时间:2025-12-13 11:58:44

颜色操作

在$color中内置了很多常用的颜色,并且也有依据当前app主题动态获取对应颜色值的函数,尤其是在ui开发的过程中使用较多。

$color主要用来解析颜色,对比颜色,获取亮色暗色,为颜色设置透明度等等功能。

const {int} 黑色;

黑色

const {int} 深灰色;

深灰色

const {int} 灰色;

灰色

const {int} 浅灰色;

浅灰色

const {int} 白色;

白色

const {int} 红色;

红色

const {int} 绿色;

绿色

const {int} 蓝色;

蓝色

const {int} 黄色;

黄色

const {int} 青色;

青色

const {int} 品红;

品红

const {int} 透明;

透明

找色(图片, 颜色, 阈值, 范围)

查找颜色的位置

  • 参数 : 图片 {Image} 在指定图片中找色

  • 参数 : 颜色 {字符串} 颜色

  • 参数 : 阈值 {整数} 阈值

  • 参数 : 范围 {double[]} 范围

  • 返回 : {Point} 找到颜色的位置

  • 版本 : 1.6.8

//(1)截屏
定义 截屏 = $截屏.获取截屏();
//(2)在屏幕上找到颜色
定义 位置 = $颜色.找色(截屏, "#a55978", 5 , [100,200,400,400]);
如果 (位置 !=) {
    //绘制出颜色的位置
    $绘制.准心(位置);
    睡觉(3000);
}
截屏.关闭(); //回收截屏图片
$绘制.关闭所有(); //关闭绘制

找色(图片, 颜色, 阈值)

查找颜色的位置

  • 参数 : 图片 {Image} 在指定图片中找色

  • 参数 : 颜色 {字符串} 颜色

  • 参数 : 阈值 {整数} 阈值

  • 返回 : {Point} 找到颜色的位置

  • 版本 : 1.6.8

//(1)截屏
定义 截屏 = $截屏.获取截屏();
//(2)在屏幕上找到颜色
定义 位置 = $颜色.找色(截屏, "#a55978", 5);
如果 (位置 !=) {
    //绘制出颜色的位置
    $绘制.准心(位置);
    睡觉(3000);
}
截屏.关闭(); //回收截屏图片
$绘制.关闭所有(); //关闭绘制

找色(图片, 颜色)

查找颜色的位置

  • 参数 : 图片 {Image} 在指定图片中找色

  • 参数 : 颜色 {字符串} 颜色值

  • 返回 : {Point} 找到颜色的位置

  • 版本 : 1.6.8

//(1)截屏
定义 截屏 = $屏幕.获取截屏();
//(2)在屏幕上找到颜色
定义 位置 = $颜色.找色(截屏, "#a55978");
如果 (位置 !=) {
    //绘制出颜色的位置
    $绘制.准心(位置);
    睡觉(3000);
}
图片.关闭(); //回收截屏图片
$绘制.关闭全部(); //关闭绘制

找到全部(图片, 颜色, 阈值, 范围)

查找颜色所有的位置

  • 参数 : 图片 {Image} 在指定图片中找色

  • 参数 : 颜色 {字符串} 颜色值

  • 参数 : 阈值 {整数} 阈值

  • 参数 : 范围 {double[]} 范围

  • 返回 : {Point[]} 找到颜色的位置

  • 版本 : 1.6.8

定义 截屏 = $屏幕.获取截屏();
定义 结果集 = $颜色.找到全部(截屏,"#d28384",5,[100,200,400,500]);
如果结果集!=){
    循环(定义 位置 关于 结果集){
        $绘制.(位置);//绘制位置的点
        $绘制.日志(位置);//屏幕显示位置
        睡觉(300);
    }
    //3秒后关闭悬浮绘制
    睡觉(5000);
    $绘制.关闭全部();
}

找到全部(图片, 颜色, 阈值)

查找颜色所有的位置

  • 参数 : 图片 {Image} 在指定图片中找色

  • 参数 : 颜色 {字符串} 颜色值

  • 参数 : 阈值 {整数} 阈值

  • 返回 : {Point[]} 找到颜色的位置

  • 版本 : 1.6.8

定义 截屏 = $屏幕.获取截屏();
定义 结果集 = $颜色.找到全部(截屏,"#d28384",5);
如果结果集!=){
    循环(定义 位置 关于 结果集){
        $绘制.(位置);//绘制位置的点
        $绘制.日志(位置);//屏幕显示位置
        睡觉(300);
    }
    //3秒后关闭悬浮绘制
    睡觉(5000);
    $绘制.关闭全部();
}

找到全部(图片, 颜色)

查找颜色所有的位置

  • 参数 : 图片 {Image} 在指定图片中找色

  • 参数 : 颜色 {字符串} 颜色值

  • 返回 : {Point[]} 找到颜色的位置

  • 版本 : 1.6.8

定义 截屏 = $屏幕.获取截屏();
定义 结果集 = $颜色.找到全部(截屏,"#d28384");
如果结果集!=){
    循环(定义 位置 关于 结果集){
        $绘制.(位置);//绘制位置的点
        $绘制.日志(位置);//屏幕显示位置
        睡觉(300);
    }
    //3秒后关闭悬浮绘制
    睡觉(5000);
    $绘制.关闭全部();
}

相似度(颜色1, 颜色2)

计算相似度

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {double} 相似度

  • 版本 : 1.6.8

//计算相似度
定义 相似度 = $颜色.相似度("#1E1F22","#2B2D30");
日志("相似度",相似度);

相似度(颜色1, 颜色2)

计算相似度

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {double} 相似度

  • 版本 : 1.6.8

//计算相似度
定义 相似度 = $颜色.相似度("#1E1F22","#2B2D30");
日志("相似度",相似度);

相似度(颜色1, 颜色2)

计算相似度

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {double} 相似度

  • 版本 : 1.6.8

//计算相似度
定义 相似度 = $颜色.相似度("#1E1F22","#2B2D30");
日志("相似度",相似度);

相似度(颜色1, 颜色2)

计算相似度

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {double} 相似度

  • 版本 : 1.6.8

//计算相似度
定义 相似度 = $颜色.相似度("#1E1F22","#2B2D30");
日志("相似度",相似度);

转字符(颜色值)

颜色值转6位字符

  • 参数 : 颜色值 {整数} 颜色值

  • 返回 : {字符串} 颜色

  • 版本 : 1.6.8

//转为#000000
定义 颜色 = $颜色.转字符(-166780);

解析(r, g, b)

解析rgb的颜色值

  • 参数 : r {整数} 红

  • 参数 : g {整数} 绿

  • 参数 : b {整数} 蓝

  • 返回 : {整数} 颜色值

  • 版本 : 1.6.8

定义 颜色 = $颜色.解析(105,78,230);

解析(颜色)

解析颜色值

该函数内置了M3风格主题的动态主题颜色,可以通过传入对应的主题字符串来获取对应的颜色值

  • 参数 : 颜色 {字符串} 颜色

  • 返回 : {整数} 颜色值

  • 版本 : 1.6.8

//解析颜色值
定义 颜色值 = $颜色.解析("#1E1F22");
日志("颜色值",颜色值);
//除了上面的常规使用方法你也可以用$颜色动态获取主题颜色
//获取颜色值(返回int类型的颜色值)
定义 颜色 = $颜色.解析("白色");
定义 颜色 = $颜色.解析("黑色");
定义 颜色 = $颜色.解析("透明");
定义 颜色 = $颜色.解析("无");
定义 颜色 = $颜色.解析("绿色");
定义 颜色 = $颜色.解析("红色");
定义 颜色 = $颜色.解析("蓝色");
定义 颜色 = $颜色.解析("黄色");
//主题颜色值(返回int类型的颜色值)
定义 颜色 = $颜色.解析("主题主颜色");//(常用)一般是主题最明显的颜色:蓝色主题一般呈现蓝色
定义 颜色 = $颜色.解析("主题中性颜色");//(常用)一般是布局背景
定义 颜色 = $颜色.解析("主题中性反色");//(常用)一般是文字颜色
定义 颜色 = $颜色.解析("主题主反色");
定义 颜色 = $颜色.解析("主题主容器颜色");
定义 颜色 = $颜色.解析("主题主容器反色");
定义 颜色 = $颜色.解析("主题次颜色");
定义 颜色 = $颜色.解析("主题次反色");
定义 颜色 = $颜色.解析("主题次容器颜色");
定义 颜色 = $颜色.解析("主题次容器反色");
定义 颜色 = $颜色.解析("主题错误颜色");
定义 颜色 = $颜色.解析("主题错误反色");
定义 颜色 = $颜色.解析("主题错误容器颜色");
定义 颜色 = $颜色.解析("主题错误容器反色");
定义 颜色 = $颜色.解析("主题背景反色");
定义 颜色 = $颜色.解析("主题中性容器颜色");
定义 颜色 = $颜色.解析("主题中性容器反色");
定义 颜色 = $颜色.解析("主题中性轮廓颜色");
定义 颜色 = $颜色.解析("主题中性轮廓反色");
定义 颜色 = $颜色.解析("主题主状态反色");

设置透明度(颜色值, 透明度)

设置颜色的透明度

  • 参数 : 颜色值 {整数} 颜色值

  • 参数 : 透明度 {整数} 透明度(0-255)

  • 返回 : {整数} 颜色值

  • 版本 : 1.6.8

//解析颜色值
定义 颜色值 = $颜色.解析("#1E1F22");
//设置颜色的透明度
定义 半透明颜色 = $颜色.设置透明度(颜色值,100);//1-255

变亮(颜色值)

获取较亮颜色

  • 参数 : 颜色值 {整数} 颜色值

  • 返回 : {整数} 颜色值

  • 版本 : 1.6.8

//解析颜色值
定义 颜色值 = $颜色.解析("#1E1F22");
//获取较亮颜色
定义 新颜色 = $颜色.变亮(颜色值);

变暗(颜色值)

获取较暗颜色值

  • 参数 : 颜色值 {整数} 颜色值

  • 返回 : {整数} 颜色值

  • 版本 : 1.6.8

//解析颜色值
定义 颜色值 = $颜色.解析("#1E1F22");
//获取较暗颜色值
定义 新颜色 = $颜色.变暗(颜色值);

rgb(red, green, blue)

通过RGB通道获得颜色值

  • 参数 : red {int} R通道

  • 参数 : green {int} G通道

  • 参数 : blue {int} B通道

  • 返回 : {int} 颜色值

  • 版本 : 1.0.0

let color = $color.rgb(105,78,230);

argb(alpha, red, green, blue)

通过ARGB通道获得颜色值

  • 参数 : alpha {int} A通道

  • 参数 : red {int} R通道

  • 参数 : green {int} G通道

  • 参数 : blue {int} B通道

  • 返回 : {int} 颜色值

  • 版本 : 1.0.0

let color = $color.argb(255,105,78,230);

a(color)

计算[A通道]的值

  • 参数 : color {String} 颜色

  • 返回 : {int} 数值

  • 版本 : 1.0.0

let a = $color.a("#357C94");

r(color)

计算[R通道]的值

  • 参数 : color {String} 颜色

  • 返回 : {int} 数值

  • 版本 : 1.0.0

let r = $color.r("#357C94");

g(color)

计算[G通道]的值

  • 参数 : color {String} 颜色

  • 返回 : {int} 数值

  • 版本 : 1.0.0

let g = $color.g("#357C94");

b(color)

计算[B通道]的值

  • 参数 : color {String} 颜色

  • 返回 : {int} 数值

  • 版本 : 1.0.0

let b = $color.b("#357C94");

比较(颜色1, 颜色2)

比较两个颜色

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {布尔值} 是否相等

  • 版本 : 1.6.8

定义 颜色字符 = "#1E1F22";
定义 颜色值 =-14803166;
定义 颜色相同 = $颜色.比较(颜色字符,颜色值);
如果(颜色相同){
    信息("颜色相同");
}否则{
    信息("颜色不同");
}

比较(颜色1, 颜色2)

比较两个颜色

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {布尔值} 是否相等

  • 版本 : 1.6.8

定义 颜色字符 = "#1E1F22";
定义 颜色值 =-14803166;
定义 颜色相同 = $颜色.比较(颜色字符,颜色值);
如果(颜色相同){
    信息("颜色相同");
}否则{
    信息("颜色不同");
}

比较(颜色1, 颜色2)

比较两个颜色

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {布尔值} 是否相等

  • 版本 : 1.6.8

定义 颜色字符 = "#1E1F22";
定义 颜色值 =-14803166;
定义 颜色相同 = $颜色.比较(颜色字符,颜色值);
如果(颜色相同){
    信息("颜色相同");
}否则{
    信息("颜色不同");
}

比较(颜色1, 颜色2)

比较两个颜色

  • 参数 : 颜色1 {string|int} 颜色1

  • 参数 : 颜色2 {string|int} 颜色2

  • 返回 : {布尔值} 是否相等

  • 版本 : 1.6.8

定义 颜色字符 = "#1E1F22";
定义 颜色数值 =-14803166;
定义 颜色相同 = $颜色.比较(颜色字符,颜色数值);
如果(颜色相同){
    信息("颜色相同");
}否则{
    信息("颜色不同");
}

是暗主题()

是否是黑暗主题

  • 返回 : {布尔值} 是否是深色主题

  • 版本 : 1.6.8

如果($颜色.是暗主题()){
    信息("黑暗主题");
}否则{
    信息("亮色主题");
}

是颜色(颜色字符串)

判断颜色格式是否正确

  • 参数 : 颜色字符串 {字符串} 颜色字符串

  • 返回 : {布尔值} 是否是正确的颜色格式

  • 版本 : 1.6.8

如果($颜色.是颜色("#1E1F22")){
    信息("颜色格式正确");
}否则{
    信息("颜色格式错误");
}