按键精灵相对坐标 finemulticol 怎么直接返回坐标

日志总数:24 篇
评论总数:11 篇
标签数量:41 个
链接总数:3 个
建站日期:
运行天数:284 天
最后更新:按键精灵 finemulticol 怎么直接返回坐标_百度知道
按键精灵 finemulticol 怎么直接返回坐标
我有更好的答案
这个命令不是按键精灵自带命令,应该是什么插件或者自定义函数吧,需要详细的说明一下是什么插件或者函数的内容
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Cmpmulticol用那个颜色代码【按键精灵吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:399,392贴子:
Cmpmulticol用那个颜色代码收藏
Cmpmulticol用那个颜色代码
登录百度帐号推荐应用拒绝访问 | www.ggdoc.com | 百度云加速
请打开cookies.
此网站 (www.ggdoc.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3e497ed70dd243a7-ua98).
重新安装浏览器,或使用别的浏览器从零学起之安卓篇《按键精灵安卓版找图找色应用汇总介绍》更新 _ 教程中心 - 按键精灵论坛
腾讯微博:
软件版本:2014.05软件大小:21.6M更新时间:07-04
软件版本:3.2.9软件大小:62.5M更新时间:12-07
软件版本:1.3.1软件大小:29.2M更新时间:09-29
软件版本:1.1.0软件大小:12.3M更新时间:12-29
查看: 100754|回复: 24
兄弟工程师05
鹰眼勋章鹰眼注册用户专属勋章学有所成学有所成勋章,新手步入按键学堂的第一枚勋章黄金之翼黄金之翼勋章潜水员按键潜水员勋章天使勋章天使一样的用户按键元老资深按键用户的尊贵荣誉勋章教程达人教程达人管理人员按键论坛的管理团队专属勋章按键精灵开发者6级可通过提升认证等级来升级勋章:rz.anjian.com
本帖最后由 兄弟工程师05 于
15:09 编辑 本期主题:介绍目前手机按键(按键精灵安卓版)在编写脚本中,都需要用到哪些方式进行图色识别。惯例先讲好处:1、找色,如何计算颜色相似度,解决不同款式手机中画面颜色差异的问题。2、找图,不太推荐,我们来聊聊多点找色,解决找图缓慢不效率,判断不准确的问题。科普小技巧:关于多点取色如何获取点阵特征(注意手机按键使用,多点找色取点不宜超过10个),请查看以下帖子正题一:找色,先介绍下手机按键自带的找色命令。固定坐标获取单点颜色注解:获取坐标X与Y位置的颜色值信息,返回存入变量col中。Dim col,x,y
col=GetPixelColor(x,y)
TracePrint "颜色=" & col
复制代码区域范围查找单点颜色注解:变量intX, intY需要预先定义。如果您还没有定义该变量,请取消下面一行的注释。如果没有找到,intX和intY的值都会被置为-1,那么这里我们只需要判断一个值就可以确认是否找到。Dim intX, intY
FindColor 0, 0, 720, 1280, "0000FF", 0, 0.9, intX, intY
//如果没有找到,intX和intY的值都会被置为-1,那么这里我们只需要判断一个值就可以确认是否找到。
If intX > 0 Then
//如果intX大于0,说明找颜色,IntX与IntY分别表示这颜色的位置坐标
TracePrint "找到颜色,坐标=" & intX & "," & intY
TracePrint "没找到颜色"
复制代码要点讲解:如何判断两个颜色相似度,以便解决单点颜色判断上的误差问题,以下提供两个写好的函数模块给大家学习。函数名称:IsCol函数功能:通过计算16进制颜色值中的RGB平均差值,得出两个颜色值相似度是否到达对应百分比函数参数:参数1:字符串型,16进制颜色值参数2:字符串型,16进制颜色值参数3:整数型,相似度返回值:True 或 False(符合或不符合)函数范例:'判断两个16进制值相似度是否到达对应百分比
Function IsCol(col1,col2,n)
IsCol=False
Dim r1,g1,b1
Dim r2,g2,b2
ColorToRGB col1,r1,g1,b1
ColorToRGB col2,r2,g2,b2
If 1 - (Abs(r1 - r2) + Abs(g1 - g2) + Abs(b1 - b2)) / 255 / 3 >= n Then IsCol=True
End Function
复制代码函数名称:CmpCol函数功能:获取固定坐标点16进制颜色值,传入IsCol函数进行相似度对比,得出两个颜色值相似度是否到达对应百分比函数参数:参数1:整数型,屏幕X坐标参数2:整数型,屏幕Y坐标参数3:字符串型,16进制颜色值返回值:True 或 False(符合或不符合)'固定坐标单点模糊找色
Function CmpCol(x,y,col,n)
CmpCol=False
If x < 0 or y < 0 Then Exit Function
Dim temp_col
temp_col=GetPixelColor(x,y)
If temp_col=col Then
CmpCol=True
CmpCol=IsCol(col,temp_col,n)
End Function
复制代码1.5.1新增命令介绍函数名称:CmpColor函数功能:比较指定坐标点(x,y)的颜色,支持多色、偏色、相似度比较函数参数:参数1:整数型,屏幕X坐标参数2:整数型,屏幕Y坐标参数3:字符串型,16进制颜色值参数4:整数型,颜色相似度(推荐0.9)返回值:整数型,没找到返回-1,找到返回对应颜色序号,从0开始调用范例:Dim ret
ret = CmpColor(100,200,"FFFFFF|0000FF-FF00-.9)
If ret = -1 Then
TracePrint "颜色都不相等"
TracePrint "匹配颜色的序号为:" & ret
复制代码批注:如果(100,200)的颜色是FFFFFF,则返回0如果(100,200)的颜色是0000FF,则返回1如果(100,200)的颜色是00FF00或偏色在101010范围内,则返回2以此类推正题二:找图?不不,我是来推荐多点找色的,惯例先介绍下自带的找图命令。区域范围查找图片注解:变量intX, intY需要预先定义。如果您还没有定义该变量,请取消下面一行的注释。如果没有找到,intX和intY的值都会被置为-1,那么这里我们只需要判断一个值就可以确认是否找到。附件路径(Attachment:),由于各自手机文件路径各不相同,这里我还是推荐用附件路径吧,就下面例子这样。(提示:找图默认支持PNG格式,但也支持BMP格式)1.5语法(增加偏色参数)Dim intX, intY
FindPic 0, 0, 0, 0, "Attachment:图片名称.png", "000000", 0, 0.9, intX, intY
If intX > 0 Then
//如果intX大于0,说明找颜色,IntX与IntY分别表示这颜色的位置坐标
TracePrint "找到图片,图片左上角点位置坐标:" & intX & "," & intY
TracePrint "找图失败"
复制代码1.3语法Dim intX, intY
FindPic 0, 0, 0, 0, "Attachment:图片名称.png", 0, 0.9, intX, intY
If intX > 0 Then
//如果intX大于0,说明找颜色,IntX与IntY分别表示这颜色的位置坐标
TracePrint "找到图片,图片左上角点位置坐标:" & intX & "," & intY
TracePrint "找图失败"
复制代码要点讲解:如何提高一个图像识别的效率与精确度。首先想提高图像判断效率,那么我们得知道找图的原理方式,这样才能从中了解时间都耗到哪里去了,都做了什么,是否有什么方式可以减少时间,减少不必要的操作以达到节约时间又不影响图像判断结果。简单分析:1、确认找图都有什么步骤。2、通过哪些步骤配合得到结果。3、在不影响结果的情况下去除不必要的步骤以达到节约时间的目的,提高效率。找图原理大致方式:(我这里以简单通俗的方式描述下找图原理,可能与真实原理有些出路,请大家无视)第一步:全屏获取图色信息,获取整个屏幕所有像素点的颜色信息,临时保存。第二步:
1、取要找的图片左上角第一个点颜色,进行范围查找单色,找到则临时记录那点坐标。
2、以该点为起点,对图片剩余部分全部像素点的颜色信息进行匹配判断,如果都相同,则说明这张图片找到,返回值起点坐标X与Y的值。
3、如果不是则继续循环扫描剩余部分,继续找符合第一点颜色的位置作为起点继续匹配,直到匹配正确或返回 -1,-1表示没有符合特征。第三步:释放掉第一步临时保存的图色信息。(释放内存占用)以上步骤了解,我们可以明确,时间都耗在整张图片全部点阵的匹配上了。试想下,一张10*10的图片,每次找到起点,都必须进行100次的信息对比,如果在720*1280范围找图,再没找到匹配正确的图片时,前面疑似的部分每个起点都需要进行100次的信息对比,这样整体时间就消耗掉了。那么:问大家一个简单的问题,判断一张图片是否存在的目的是什么,是否是判断图像中某个图像特征是否存在,比如某个图标?某个文字?某个符号?总的描述,就是几个颜色点,按照对应的形状排列起来的特征。既然:找图的目的只是判断里面其中一小部分图色信息是否匹配,那么我们为何要把整张图片进行匹配呢?结论:这里我们分析总结,我们其实只要确认一个范围内少部分颜色点的排列特征形状颜色是否匹配。通俗点比喻:把找图找色比喻为去仓库取物。单独执行找图 或 单独执行找色。仓库取物。全屏截图保存内存中打开仓库大门对获取到的信息进行匹配,取出符合条件的信息。进入仓库搜索制定物品搬出。释放内存中临时储存信息。关闭仓库大门。总结:如果我需要对当前屏幕画面做一百次或更多次找图或取色,直接调用会导致每次执行取色匹配时对全屏图像进行临时储存,判断,再释放,再记录再释放,增加额外不必要的资源消耗,等于去仓库取100个物品,需要开关一百次大门,完全无意义,以下代码中用到KeepCapture与ReleaseCapture命令的作用就是事先把大门一直开着,直到我取完物品,再关闭。总结:也许我以上墨迹可能许多新同学暂时还无法理解完全,但没关系,你们只要最后知道多点找色比找图高效精确即可。不啰嗦了,以下直接把目前常用的函数模块发出来,只想有功能用的同学可以 Ctrl+C → Ctrl+V 完事,想了解具体原理并学习知识的可以细细品读!有描述不当之处可以跟帖留言或各大按键群里给我留言。(本人联系方式按键各大群)函数名称:CmpMultiCol函数功能:固定坐标多点模糊找色函数参数:参数1:整数型,屏幕X坐标参数2:整数型,屏幕Y坐标参数3:字符串型,第一点16进制颜色值参数4:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)参数5:整数型,颜色相似度(推荐0.9)返回值:True 或 False(符合或不符合,坐标保存在intX与intY)注意事项:由于需要对一张图像中做大量的信息对比来匹配出屏幕范围中是否有需要的多点特征,所以这里提示必须调用开头加入KeepCapture命令,结束时ReleaseCapture释放掉。调用范例:如果需要对一张图像做多次图色判断可以用这种调用方式拆开使用,节省资源。'加载当前屏幕画面信息
KeepCapture
'调用多点找色命令,判断该特征是否存在区域范围中
If CmpMultiCol(10,10,"FFFFFF","1|5|FFFFFF,5|10|FFFFFF",0.9)=True Then
TracePrint "找到,第一个点坐标:" & IntX & "," & IntY
TracePrint "没有找到"
'释放上次画面加载信息,以免对干扰后面找色命令
ReleaseCapture
复制代码函数模块:'固定坐标多点模糊找色
Function CmpMultiCol(x,y,col,str,n)
CmpMultiCol=False
If CmpCol(x,y,col,n)=True Then
'第一个点颜色符合,调用MultiColor多点处理模块匹配其余点的颜色是否正确
CmpMultiCol=MultiColor(x,y,str,n)
'第一个点颜色不符,调用FindMultiCol多点找色模块,对该点再次进行一次小范围多点找色查找
CmpMultiCol=FindMultiCol(x-3,y-3,x+3,y+3,col,str,n)
End Function
复制代码原理解析:待编辑函数名称:FindMultiCol函数功能:区域范围多点找色函数参数:参数1:整数型,屏幕左上角X坐标参数2:整数型,屏幕左上角Y坐标参数3:整数型,屏幕右下角X坐标参数4:整数型,屏幕右下角Y坐标参数5:字符串型,第一点16进制颜色值参数6:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)参数7:整数型,颜色相似度(推荐0.9)返回值:True 或 False(符合或不符合,坐标保存在intX与intY)注意事项:由于需要对一张图像中做大量的信息对比来匹配出屏幕范围中是否有需要的多点特征,所以这里提示必须调用开头加入KeepCapture命令,结束时ReleaseCapture释放掉。调用范例:如果需要对一张图像做多次图色判断可以用这种调用方式拆开使用,节省资源。'加载当前屏幕画面信息
KeepCapture
'调用多点找色命令,判断该特征是否存在区域范围中
If FindMultiCol(0,0,720,1280,"FFFFFF","1|5|FFFFFF,5|10|FFFFFF",0.9)=True Then
TracePrint "找到,第一个点坐标:" & IntX & "," & IntY
TracePrint "没有找到"
'释放上次画面加载信息
ReleaseCapture
复制代码函数模块:'区域范围多点模糊找色
Function FindMultiCol(x1,y1,x2,y2,col,str,n)
FindMultiCol=False
FindColor x1,y1,x2,y2,col,0,n,intX, intY
If intX >= 0 Then
If MultiColor(intX,intY,str,n)=True Then
FindMultiCol=True
Do Until x > x2
FindColor x,y,x2,y,col,0,n,intX,intY
If intX >= 0 Then
If MultiColor(intX,intY,str,n)=True Then
FindMultiCol=True
Exit Function
Loop Until y1 > y2
End Function
复制代码原理解析:待编辑函数名称:MultiColor函数功能:处理多点点阵匹配,配合多点找色函数模块使用函数参数:参数1:整数型,起点X坐标参数2:整数型,起点Y坐标参数3:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)参数4:整数型,颜色相似度(推荐0.9)返回值:True 或 False(符合或不符合,坐标保存在intX与intY)函数模块:Function MultiColor(x,y,str,n)
MultiColor=False
Dim arr1,i,arr2()
arr1=Split(str,",")
For Each i In arr1
arr2=Split(i,"|")
If CmpCol(x+Int(arr2(0)),y+Int(arr2(1)),arr2(2),n)=False Then
Exit Function
MultiColor=True
End Function
复制代码原理解析:待编辑以下部分是基于以上函数模块,进行优化组合,请大家理解后根据需求使用,也可自行组合以上几个模块使用。函数名称:Cm函数功能:固定坐标多点找色函数参数:参数1:整数型,屏幕X坐标参数2:整数型,屏幕Y坐标参数3:字符串型,第一点16进制颜色值参数4:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)返回值:True 或 False(符合或不符合,坐标保存在intX与intY)函数模块:Function Cm(x,y,col,str)
Cm=CmEx(x,y,col,str,0.9)
End Function
复制代码原理解析:待编辑函数名称:CmEx函数功能:固定坐标多点找色函数参数:参数1:整数型,屏幕X坐标参数2:整数型,屏幕Y坐标参数3:字符串型,第一点16进制颜色值参数4:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)参数5:整数型,颜色相似度(推荐0.9)返回值:True 或 False(符合或不符合,坐标保存在intX与intY)函数模块:Function CmEx(x,y,col,str,n)
KeepCapture
CmEx=CmpMultiCol(x,y,col,str,n)
ReleaseCapture
End Function
复制代码原理解析:待编辑函数名称:Fm函数功能:区域范围多点找色函数参数:参数1:整数型,屏幕左上角X坐标参数2:整数型,屏幕左上角Y坐标参数3:整数型,屏幕右下角X坐标参数4:整数型,屏幕右下角Y坐标参数5:字符串型,第一点16进制颜色值参数6:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)返回值:True 或 False(符合或不符合,坐标保存在intX与intY)函数模块:Function Fm(x1,y1,x2,y2,col,str)
Fm=FmEx(x1,y1,x2,y2,col,str,0.9)
End Function
复制代码原理解析:待编辑……函数名称:FmEx函数功能:区域范围多点找色(模糊百分比)函数参数:参数1:整数型,屏幕左上角X坐标参数2:整数型,屏幕左上角Y坐标参数3:整数型,屏幕右下角X坐标参数4:整数型,屏幕右下角Y坐标参数5:字符串型,第一点16进制颜色值参数6:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)参数7:整数型,颜色相似度(推荐0.9)返回值:True 或 False(符合或不符合,坐标保存在intX与intY)函数模块:Function FmEx(x1,y1,x2,y2,col,str,n)
KeepCapture
FmEx=FindMultiCol(x1,y1,x2,y2,col,str,n)
ReleaseCapture
End Function
复制代码原理解析:待编辑……待续……修正:FindMultiCol函数模块中的一个逻辑错误,解决特别情况下会进入死循环的问题。修改:三个函数名称与新版(1.5)新增命令重名问题。原来名称修改名称CmpColorCmpColCmpMultiColorCmpMultiColFindMultiColorFindMultiCol修正:CmpCol函数中坐标判断,避免多点找色偏移坐标为负数时,出现错误卡住。
这个非常好用
yanjin1993
为什么我一只程序猿居然没看懂
wisechenjun
按键精灵开发者1级可通过提升认证等级来升级勋章:rz.anjian.com
不错不错4578
谢谢分享,,辛苦了。
按键会员(月)按键会员绑定账号后自动赠送
写得好,学习了
还是要从头学一下
能给一个 用这个一套函数找图的 实战教程吗。。。函数好多 有点看晕了
为什么我万群没看懂
按键精灵开发者1级可通过提升认证等级来升级勋章:rz.anjian.com
mBuEOmvxESvR
&a href=&http://rcfrptckwyjh.com/&&rcfrptckwyjh&/a&, , [link=http://sdxhgpetzcjw.com/]sdxhgpetzcjw[/link], http://flrajqzxfnro.com/
HGyITsfXsZ
&a href=&http://cggbmzvhcvld.com/&&cggbmzvhcvld&/a&, , [link=http://wwkxesnkahgz.com/]wwkxesnkahgz[/link], http://sfjvvqekvwox.com/
tzmrPuVYljrpytKRyo
&a href=&http://ygnwrljbxcpt.com/&&ygnwrljbxcpt&/a&, , [link=http://llifrwdamnkz.com/]llifrwdamnkz[/link], http://wnfjgyfhptsc.com/
rYXaneExXV
&a href=&http://huqcmorhjxtj.com/&&huqcmorhjxtj&/a&, , [link=http://xvymtuwdnkjb.com/]xvymtuwdnkjb[/link], http://cmmucynyqbwf.com/
lqNnZvPgZiMPNwc
&a href=&http://jryddlxuvyqn.com/&&jryddlxuvyqn&/a&, , [link=http://iagcqnadwrxg.com/]iagcqnadwrxg[/link], http://sddmbsgozfkc.com/
给力,赞一个
&a href=&http://cffnhgumjklt.com/&&cffnhgumjklt&/a&, , [link=http://dajfhsnkzkvx.com/]dajfhsnkzkvx[/link], http://rvvikazmttwl.com/
好东西,666666
时间总是不够用...
shencao718
非常受用,非常感谢,待续的呢...

我要回帖

更多关于 按键精灵相对坐标 的文章

 

随机推荐