跳到主要内容

FindStr 区域找字

🎯功能

在区域范围内,查找指定颜色的文字,并返回符合要求的坐标 。

提示

📜语法

序号 = FindStr(左上角x, 左上角y, 右下角x, 右下角y, 文字, 颜色值, 相似度, 返回x坐标, 返回y坐标)

📥参数

参数数据类型解释
左上角x数值型查找区域范围的左上角x坐标,区域范围全为0时表示全屏查找。
左上角y数值型查找区域范围的左上角y坐标,区域范围全为0时表示全屏查找。
右下角x数值型查找区域范围的右下角x坐标,区域范围全为0时表示全屏查找。
右下角y数值型查找区域范围的右下角y坐标,区域范围全为0时表示全屏查找。
文字字符串待查找的文字,多个文字用“|”隔开。
颜色值字符串查找文字的16进制颜色,格式为“BBGGRR”,多个颜色用“|”隔开,偏色使用“-”隔开,比如"FFFFFF-101010|123456"。
相似度数值型小数,颜色相似度,取值范围0到1之间,越高越相似。
返回x坐标数值型变参指针返回的横坐标x,若没有找到,则返回-1。
返回y坐标数值型变参指针返回的纵坐标y,若没有找到,则返回-1。

📤返回

数值型 ,返回找到的字符序号,从0开始索引,没找到返回-1。坐标保存在变参指针中。

💡示例

Dim 索引值,intX,intY

//设置附件中的紫猫字库.txt文档为0号字库
TracePrint SetDictEx(0, "Attachment:紫猫字库.txt")
//使用0号字库文件,之后的找字、识别都在这个字库中匹配
TracePrint UseDict(0)

索引值 = FindStr(0,0,0,0,"紫猫","9f2e3f-000000",1.0,intX,intY)
If 索引值 > -1 Then
Tap intX,intY
End If

索引值 = FindStr(0,0,0,0,"紫猫|学园","9f2e3f-000000",0.9,intX,intY)
If 索引值 > -1 Then
Tap intX,intY
End If

索引值 = FindStr(0,0,0,0,"紫猫|学园","ffffff-202020|351abc-303030",0.9,intX,intY)
Select Case 索引值
Case 0
Traceprint "找到紫猫"
Case 1
Traceprint "找到学园"
Case Else
Traceprint "未找到任何文字"
End Select

📘备注

  • 当区域范围均为0时,表示全屏查找文字,强烈建议缩小范围查找,这样可以提高效率。
  • 偏色是微调,指对RBG三色分别确定取色范围。相似度是粗调,指对颜色整体做百分比判断。
  • 颜色格式为“BGR”,目前不支持HSV颜色、不支持背景色识别。
  • 目前只支持附件中的字库,不支持绝对路径,故更新字库后,一定要记得更新附件。