Skip to main content

多点找色

from ascript.ios.screen import FindColors

从屏幕中找到 符合颜色特征点的 点位

该方法代码,一般图色助手生成,请避免手写,造成错误~

方法

查找一个

FindColors.find(colors, rect=None, space=5, ori=2, diff=0.98, image=None)
  • 参数
参数类型是否必填说明
colorsstr颜色特征点, 通常用图色助手获取
rectlist圈定屏幕范围
spaceint找色间隔,每个结果点之间的最小间隔,默认5
oriint找色方向 1-8 个方向,默认2 找色方向详情
difffloat相似度 0.0~1.0,默认0.98。值越大越严格
imagePIL.Image要识别的图片,默认当前屏幕截图
  • 返回值

Point 可以通过 x, y 获取坐标,未找到返回 None

  • 示例
from ascript.ios.screen import FindColors
p = FindColors.find("243,842,#040404|711,916,#6B6B6B|815,850,#616161|780,997,#2C2C2C")
if p:
print(p.x, p.y)

查找全部点

FindColors.find_all(colors, rect=None, space=5, ori=2, diff=0.98, image=None, p_max_num=999999)
  • 参数
参数类型是否必填说明
colorsstr颜色特征点, 通常用图色助手获取
rectlist圈定屏幕范围
spaceint找色间隔,默认5
oriint找色方向,默认2
difffloat相似度 0.0~1.0,默认0.98
imagePIL.Image要识别的图片,默认当前屏幕截图
p_max_numint最大返回数量,默认999999
  • 返回值

list[Point] Point数组,可以通过 x, y 获取坐标

  • 示例
from ascript.ios.screen import FindColors
points = FindColors.find_all("243,842,#040404|711,916,#6B6B6B|815,850,#616161")
for p in points:
print(p.x, p.y)

查找单个颜色

FindColors.find_color(color, rect=None, diff=0.98)

在屏幕中查找单个颜色点。

  • 参数
参数类型是否必填说明
colorstr单个颜色值,如 "#040404"
rectlist圈定屏幕范围
difffloat相似度 0.0~1.0,默认0.98
  • 返回值

Point 可以通过 x, y 获取坐标,未找到返回 None

  • 示例
from ascript.ios.screen import FindColors
p = FindColors.find_color("#FF0000")
if p:
print(p.x, p.y)

查找单个颜色全部点

FindColors.find_all_color(color, rect=None, diff=0.98, max_num=999999)

在屏幕中查找单个颜色的全部位置。

  • 参数
参数类型是否必填说明
colorstr单个颜色值,如 "#040404"
rectlist圈定屏幕范围
difffloat相似度 0.0~1.0,默认0.98
max_numint最大返回数量,默认999999
  • 返回值

list[Point] Point数组

  • 示例
from ascript.ios.screen import FindColors
points = FindColors.find_all_color("#FF0000")
for p in points:
print(p.x, p.y)

找色方向

找色方向是指:找到颜色特征点的先后顺序

如图:

来自静态目录的图像

  • 1: 左上角到右下角,纵向开始找色,先找到 a 顶点。
  • 2: 左上角到右下角,横向开始找色,先找到 b 顶点。
  • 3: 右上角到左下角,横向开始找色,先找到 c 顶点。
  • 依此类推