FindShape 区域多点找形状

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

范围区域内查找形状

语法

结果 = Plugin.ColorEx.FindShape(x1, y1, x2, y2, 形状描述, 相似度, 方向)

参数

参数 数据类型 解释
x1 整数型 屏幕查找区域左上角坐标x
y1 整数型 屏幕查找区域左上角坐标y
x2 整数型 屏幕查找区域右下角坐标x
y2 整数型 屏幕查找区域右下角坐标y
形状描述 字符串 符合偏移形状组(`相对第一点位置偏移X坐标
相似度 双精度浮点型 相似度(小数0.1~1.0), 1.0最相似
方向 整数型 查找方向, 预留接口, 填0

返回值

字符串 ,返回左上角第一点颜色位置坐标, 格式为x|y, 未找到返回-1|-1

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//下面这句在屏幕区域范围内截图保存到(内存)里,以备后面调用。   
Call Plugin.ColorEx.PrintScreen(0, 0, 1024, 768)

//条件:0=不等,1=等于
//下面这句在屏幕区域范围内按方式0,查找图形形状,返回左上角第一点颜色位置坐标
XY = Plugin.ColorEx.FindShape(0, 0, 1024, 768, "2|0|1,4|0|1,6|0|0,-4|1|1,-1|1|1,5|1|1,-4|3|1,-1|3|1,2|3|1,6|3|1,-4|5|0,2|5|1,5|5|1,-1|6|1,6|6|0,-4|7|1,3|8|1,6|8|1,-4|10|0,-3|10|1,-1|10|1,2|10|0,6|10|1", 1, 0)
//下面这句用于分割字符串
ZB = InStr(XY, "|")
//下面这句将字符串转换成数值
X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
msgbox "屏幕找图形形状功能:找屏幕""我""字位置位:" & X&","&Y

//释放屏幕截图信息时请使用以下命令
Call Plugin.ColorEx.Free()

备注

  • 形状描述可以通过抓抓的多点找形状功能来生成
  • 多点找形状可以忽略颜色, 原理是查找时, 将某个点颜色与偏移坐标点颜色比较,相等为1, 不等为0, 如果符合所有形状描述, 则该点就是返回坐标, 否则继续比较下一个点