Script 1.8.1

seekColor

原型:

seekColor(topLeftX, topLeftY, bottomRightX, bottomRightY, color, dir, sim)

是否支持多设备:

不支持

对应的 REST API:

在指定区域内查找指定的颜色 (seekColor)

描述:

在指定区域内查找指定的颜色,这里我们都用16 进制颜色,如" 0x001122" 。

参数:

topLeftX: 屏幕上指定范围左上角 X 坐标
topLeftY: 屏幕上指定范围左上角 Y 坐标
bottomRightX: 屏幕上指定范围右下角 X 坐标
bottomRightY: 屏幕上指定范围右下角 Y 坐标
color: 要对比的颜色,16 进制颜色, 多个颜色用"|"号分隔, 如果需要对比颜色范围则中间用"-"号分隔,比如" 0xffffff|0xaabbcc-0x000000|0x00ff00-0x101010 "
dir: 整型,查找方向

0: 表示从左上向右下;
1: 表示从中心往四周查找;
2: 表示从右下向左上查找;
3: 表示从左下向右上查找;
4:表示从右上向左下查找

sim: 相似度,取值范围为[0.0, 1.0]。


返回值:

对象: Coord 对象,第一个与指定颜色相同的像素的坐标,可以通过coord.x;coord.y获取坐标值。

示例:
// 获取当前主控设备对象
var device = Device.getMain();
//在指定区域(0, 0, 719, 1110)内查找指定的颜色"0x0000-0xffffff"
coor = device.seekColor(0, 0, 719, 1110, "0x0000-0xffffff", 4, 1);
if (coor == null) {
    print(lastError());
} else {
    print("seekColor: " + "("+ coor.x + "," + coor.y+ ")");
}
运行结果:
//成功找到指定的颜色则返回坐标:
seekColor: (701,0)
//否则返回错误信息