Skip to main content

多点找色

from ascript.ios.screen import FindColors

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

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

方法

构造方法

FindColors(self, colors: str, rect: list = None, space: int = 5, ori: int = 2, diff: list = (5, 5, 5), num=-1,
image: Image.Image = None,image_file:str = None)
  • 参数
参数类型是否必填说明
colorsstr颜色特征点, 通常用图色助手获取
rectlist圈定屏幕范围
spaceint找色间隔,每个结果点之间的最小间隔.
oriint找色方向 1-8 个方向 ,2(默认):左上角到右下角,横向开始找色 找色方向详情
difflist偏色,默认(5,5,5)
imagePIL.Image要视频的图片,默认当前屏幕截图
image_filestr要识别的图片文件
  • 示例
# 模拟手指点击屏幕坐标 (898,1916)
from ascript.ios.screen import FindColors
FindColors("243,842,#040404|711,916,#6B6B6B|815,850,#616161|780,997,#2C2C2C|560,1144,#757575|239,1283,#6CB5AE")

查找一个

.find()
  • 返回值

Point 可以通过x,y 获取坐标

  • 示例
# 通过颜色找到
from ascript.ios.screen import FindColors
p = FindColors("243,842,#040404|711,916,#6B6B6B|815,850,#616161|780,997,#2C2C2C|560,1144,#757575|239,1283,#6CB5AE").find()
if p:
print(p)

查找全部点

.find_all()
  • 返回值

Point 可以通过x,y 获取坐标

  • 示例
# 通过颜色找到
from ascript.ios.screen import FindColors
points = FindColors("243,842,#040404|711,916,#6B6B6B|815,850,#616161|780,997,#2C2C2C|560,1144,#757575|239,1283,#6CB5AE").find_all()
for p in points:
print(p)
# 可通过action进行点击
# action.click(p)

找色方向

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

如图:

来自静态目录的图像

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