对比找图的优势:快捷,精确,无需作图。
原理介绍:区域多点找色,顾名思义,是通过多个点阵颜色匹配程度来识别。对比找图是把整块矩阵范围全部像素点进行匹配,点阵识别方式只需核对少数点阵特征信息即可。
例子讲解:
//下面这句在屏幕区域范围内按方式0,查找多点颜色,返回左上角第一点颜色位置坐标
Dim str, arr, x, y
str = Plugin.Color.FindMutiColorEx(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-3|3|FFFFFF,0|3|FFFFFF,4|3|FFFFFF,-1|5|FFFFFF,3|5|FFFFFF,-3|6|FFFFFF,-6|7|FFFFFF,1|8|FFFFFF,4|8|FFFFFF,-5|10|FFFFFF,-3|10|FFFFFF,4|10|FFFFFF", 1, 0)
//以上命令返回值格式是 x|y ,没找到则返回 -1|-1 ,找到返回 100|200
//下面这句用于分割字符串,VBS命令教学之《Split函数命令与数组的简单描述》:http://bbs.anjian.com/thread-404239-1-1.html
TracePrint str
If str 以上的结构例子我想大家都懂。
下面主要讲解下多点特征是什么原理。
简单提取一段
"FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF"
多点找色匹配的时候,会在范围内搜索第一个点的颜色"FFFFFF"白色,当找到一个符合的点,则以该点为起点,匹配周围其余的点位置与颜色是否一致来确认是否符合特征。
2|0|FFFFFF:就是以第一个点偏移x坐标+2,y坐标+0不变,判断是否为"FFFFFF"白色
-6|1|FFFFFF:就是以第一个点偏移x坐标-6,y坐标+1,判断是否为"FFFFFF"白色
-3|1|FFFFFF:就是以第一个点偏移x坐标-3,y坐标+1,判断是否为"FFFFFF"白色
全部点都匹配则说明找到,返回第一个点的坐标。
原理介绍:区域多点找色,顾名思义,是通过多个点阵颜色匹配程度来识别。对比找图是把整块矩阵范围全部像素点进行匹配,点阵识别方式只需核对少数点阵特征信息即可。
例子讲解:
//下面这句在屏幕区域范围内按方式0,查找多点颜色,返回左上角第一点颜色位置坐标
Dim str, arr, x, y
str = Plugin.Color.FindMutiColorEx(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-3|3|FFFFFF,0|3|FFFFFF,4|3|FFFFFF,-1|5|FFFFFF,3|5|FFFFFF,-3|6|FFFFFF,-6|7|FFFFFF,1|8|FFFFFF,4|8|FFFFFF,-5|10|FFFFFF,-3|10|FFFFFF,4|10|FFFFFF", 1, 0)
//以上命令返回值格式是 x|y ,没找到则返回 -1|-1 ,找到返回 100|200
//下面这句用于分割字符串,VBS命令教学之《Split函数命令与数组的简单描述》:http://bbs.anjian.com/thread-404239-1-1.html
TracePrint str
If str 以上的结构例子我想大家都懂。
下面主要讲解下多点特征是什么原理。
简单提取一段
"FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF"
多点找色匹配的时候,会在范围内搜索第一个点的颜色"FFFFFF"白色,当找到一个符合的点,则以该点为起点,匹配周围其余的点位置与颜色是否一致来确认是否符合特征。
2|0|FFFFFF:就是以第一个点偏移x坐标+2,y坐标+0不变,判断是否为"FFFFFF"白色
-6|1|FFFFFF:就是以第一个点偏移x坐标-6,y坐标+1,判断是否为"FFFFFF"白色
-3|1|FFFFFF:就是以第一个点偏移x坐标-3,y坐标+1,判断是否为"FFFFFF"白色
全部点都匹配则说明找到,返回第一个点的坐标。