金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
小编发现在平时编写脚本的过程中,大家基本上都是会选择找图的方式,如果需要找的部分有背景的杂色,还会费力的把图片进行透明化处理。实在是累啊
其实呢,很多同学都忽略了另外一种命令,就是多点找色命令,只是可能一些同学觉得多点找色命令的参数设置起来很麻烦,所以都不愿意用这个命令。今天小编就给大家详细的介绍下多点找色的使用,以及一些常用的技巧
多点找色优点
在具体介绍多点找色之前,让我们先来体会下多点找色相比找图的优势在哪里。
这里已找桌面上计算机图标为例子,分别使用找图以及找色的方法,来看看他们花费的时间分别是多长
- //找图
- time_1 = Plugin.Sys.GetTime()
- FindPic 0,0,1024,768,"Attachment:\计算机.bmp",0.9,intX,intY
- If intX > 0 And intY > 0 Then
- time_2 = Plugin.Sys.GetTime()
- MoveTo intX,intY
- End If
- TracePrint "找图花费时间:" & time_2 - time_1
- //找色
- time_3 = Plugin.Sys.GetTime()
- XY=Plugin.ColorEx.FindMultiColor(0,0,1024,768,"F5F6F5","-10|1|FFFFFF,-15|2|CB1D00,-27|6|14F285,-7|16|CBE4E5",1,0)
- ZB = InStr(XY,"|")
- X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
- If X > 0 And Y > 0 Then
- time_4 = Plugin.Sys.GetTime()
- MoveTo X, Y
- End If
- TracePrint "多点找色花费时间:" & time_4 - time_3
复制代码
先看看小编电脑上运行的结果
可以看到多点找色花费的时间比找图少了将近3倍左右!
所以多点找色最大的优势就是消耗的时间少。别看这里只是少了几十毫秒,但是如果要同时找多个特征图色,那总体消耗的时间就会变得明显,现在的脚本都是讲究一个效率,如果你的脚本运行效率更高,那就更有竞争力。
了解多点找色
先来看下多点找色的命令参数
命令名称FindMultiColor 区域多点找色命令功能范围区域内查找多点颜色命令参数参数1 整数型,屏幕左上角X坐标 参数2 整数型,屏幕左上角Y坐标
参数3 整数型,屏幕右下角X坐标
参数4 整数型,屏幕右下角Y坐标
参数5 字符串型,第一点16进制颜色值
参数6 字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)
参数7 整数型,相似度
返回值字符串型,左上角第一点颜色位置坐标
一些同学很少使用多点找色,可能就是觉得其中参数6的设置太麻烦,不知道如何去设置。其实这个参数有两种简单的设置方法
1、使用按键抓抓
打开按键抓抓,切换到图像标签,在上方可以看到有个“抓多点”的选项,选择它之后就可以切换出抓多点特征的界面了
接下来使用截屏把特征区域截图下来,然后鼠标移动到要抓取的特征点上,按下 ctrl+1 就可以抓取一个点
(这个抓点热键可能会和其他的软件有冲突导致热键失效,建议在开按键抓抓之前先把大漠工具之类的软件先退出)
抓取了多个点之后,按键抓抓会自动把特征点列出来,我们只要直接点击生成代码,粘贴到脚本里就行了
2、使用命令列表里插入
在全部命令列表里找到 FindMultiColor 命令,点击这个命令会自动展开这条命令的参数设置,点击“转到图像处理界面”
点击第一处按钮可以把当前剪切板里的图片复制上去,然后再点击第二处的按钮,在图片中选择几个特征点,(选择的特征点会自动以草绿色来显示)就像这样:
选择好特征点之后就点击插入按钮就可以自动插入完整的多点找色的命令了。
多点找色的技巧
多点找色他的关键技巧就在于要取哪些特征点
1、不同特征点尽量取不同的颜色
2、多点找色范围只需要包含第一个特征点即可
3、特征点的选取范围可以不用局限于小范围内
已这个图片为例子
在选取特征点的时候尽量不要选择颜色相近的点,选择颜色差异较大的点可以大大降低误判的可能性。
在选择特征点的时候,如果想要找的特征出现的位置是固定的,那可以在当前的画面中选择一些距离比较远的点,来提高识别的成功率
比如下图:想要识别底部的“确认按钮”,但是因为这个按钮颜色都比较相近,那就可以选择当前画面中固定会出现的比较有特定颜色的点作为偏移点
使用这样的找点方法,可以保证找到的点绝对是正确的