- 〖教程达人〗
- 1177301
- 19467
- 14
- 1382 朵
- 23747 个
- -27 个
- 114120
- 2012-06-11
|
1#
t
T
发表于 2014-06-10 18:29
|
|只看楼主
本帖最后由 兄弟工程师05 于 2014-6-20 18:41 编辑 【按键精灵安卓版1.5.1尝鲜版】抢先发布!立即体验最新版本 下载地址:showtopic.aspx?topicid=527348&forumpage=1&page=1新增命令 | 命令名称 | 功能描述 | CmpColor | 比较指定坐标点(x,y)的颜色。(支持多色、偏色、相似度比较) | CmpColorEx | 同时比较指定多个坐标点(x,y)的颜色。(支持多色、偏色、相似度比较) | FindMultiColor | 范围区域内查找多点颜色。(支持多色、偏色、相似度比较) | GetColorNum | 范围区域搜索指定色数量。(支持多色、偏色、相似度比较) | SetControlBarPos | 浮窗位置设置。(设置脚本启动时候控制台(浮窗)在屏幕右侧的高度及其锁定状态) | SetScreenScale | 屏幕自适应。(根据开发环境的分辩率和使用环境分辨率自动将X,Y坐标进行等比换算) | 修改命令 | 命令名称 | 功能描述 | FindColor | 范围区域找色:增加功能,颜色值支持多色、偏色、相似度比较。 | FindPic | 范围区域找图:增加参数,支持颜色值16进制偏色设定。 | TouchMove | 触屏按住移动:增加参数,时间参数,可设定划动动作开始到结束的划动时间。 | Swipe | 触屏划动操作:增加参数,时间参数,可设定划动动作开始到结束的划动时间。 |
惯例:本期重点
一、图色判断新增多色、多图、偏色、相似度比较。 多色:多种颜色同时判断。 描述:凡是颜色匹配无论单点找色还是多点找色,均可设定多个颜色值进行同时匹配。 范例:查找屏幕坐标(100,200)点的颜色是否为红("0000FF")或黄("00FFFF")或绿("00FF00")。传统写法,如果颜色数量较多,则需要写若干个If条件判断语句,非常不便捷。 | - Dim col
- '获取屏幕坐标(100,200)点颜色,赋值存入变量col中
- col=GetPixelColor(100,200)
- '条件判断:如果 col 等于 红色 或 col 等于 纯黄 或 col 等于 绿色 则
- If col="0000FF" or col="00FFFF" or col="00FF00" Then
- TracePrint "颜色符合"
- Else'否则
- TracePrint "颜色不符"
- End If
复制代码 | 新增命令CmpColor写法,可把全部颜色参数都拼合起来传入命令使用。 | - Dim ret
- '获取屏幕坐标(100,200)点颜色进行颜色匹配(相似度0.9),判断结果存入变量col中
- ret=CmpColor(100,200,"0000FF|00FFFF|00FF00",0.9)
- '返回值 ret 不等于 -1,则说明找到
- If ret
|
多图:【一大波新函数即将来袭】Findpic找图函数更新预告 偏色、相似度:从零学起之科普篇《偏色与相似度汇总介绍》 二、命令功能介绍与范例演示。 命令名称:CmpColor 命令功能:比较指定坐标点(x,y)的颜色。(支持多色、偏色、相似度比较)点击详情 命令参数: 参数1:整数型,屏幕X坐标 参数2:整数型,屏幕Y坐标 参数3:字符串型,16进制颜色值,支持偏色设定 参数4:整数型,颜色相似度,取值范围0.1-1.0(推荐0.9,计算两两颜色值相似程度所在多少百分比) 返回值:整数型,没找到返回-1,找到返回对应颜色序号,从0开始 脚本例子: -1 Then
'如果接近红色,则返回0
'如果接近纯黄,则返回1
'如果接近绿色,则返回2,以此类推
TracePrint "颜色符合,找到颜色序号为:" & ret
Else'否则
TracePrint "颜色不符"
End If
复制代码 命令原理: 如果(100,200)的颜色是FFFFFF,则返回0 如果(100,200)的颜色是0000FF,则返回1 如果(100,200)的颜色是00FF00或偏色在101010范围内,则返回2 以此类推 命令名称:CmpColorEx 命令功能:比较指定多个坐标点(x,y)的颜色。(支持多色、偏色、相似度比较)点击详情 命令参数: 参数1:字符串型,对比颜色组(需要对比的点xy坐标和16进制颜色,格式为(X坐标|Y坐标|16进制颜色-偏色),多个颜色用“|”号分隔,需要偏色用“-”号分隔,多个点信息用“,”号分隔,比如 "100|200|FFFFFF|123456-000000,300|500|FFFFFF" 参数2:整数型,颜色相似度,取值范围0.1-1.0(推荐0.9,计算两两颜色值相似程度所在多少百分比) 返回值:整数型,返回0代表没找到,返回1代表找到 脚本例子:- Dim ret
- '获取屏幕坐标(100,200)点颜色进行颜色匹配(相似度0.9),判断结果存入变量col中
- ret=CmpColor(100,200,"0000FF|00FFFF|00FF00-101010",0.9)
- '返回值ret不等于-1,则说明找到
- If ret 命令原理:顾名思义。
命令名称:FindMultiColor 命令功能:范围区域内查找多点颜色。(支持多色、偏色、相似度比较)点击详情 命令参数: 参数1:整数型,屏幕左上角X坐标 参数2:整数型,屏幕左上角Y坐标 参数3:整数型,屏幕右下角X坐标 参数4:整数型,屏幕右下角Y坐标 参数5:字符串型,第一点16进制颜色值 参数6:字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色) 参数7:整数型,查找方式:【0】从左上向右下查找 【1】从中心往四周查找 【2】从右下向左上查找 【3】从左下向右上查找 【4】从右上向左下查找 参数8:整数型,颜色相似度,取值范围0.1-1.0(推荐0.9,计算两两颜色值相似程度所在多少百分比) 参数9 整数型,返回x坐标 参数10 整数型,返回y坐标 返回值:无 脚本例子: -1 Then
- '如果接近红色,则返回0
- '如果接近黄色,则返回1
- '如果接近绿色,则返回2,以此类推
- TracePrint "颜色符合,找到颜色序号为:" & ret
- Else'否则
- TracePrint "颜色不符"
- End If
复制代码 命令原理: 1、在设定范围(0,0,720,1280)中查找首个点颜色("FFFFFF")。 2、如找到,则以该点为中心,开始判断各个偏移坐标点的颜色是否一致。 3、偏移点颜色判断: "50|0|000000":判断坐标(起点X+50,起点Y+0)是否为黑色("000000") "-10|80|FFFF00":判断坐标(起点X-10,起点Y+80)是否为青色("FFFF00") "5|-15|00D7FF":判断坐标(起点X+5,起点Y-15)是否为金色("000000") 4、如果偏移点阵颜色不符合,则继续搜索下一个首点颜色位置坐标继续匹配,直到点阵匹配正确返回首点所在坐标。 5、没找到,返回值IntX与IntY均为-1。 命令名称:GetColorNum 命令功能:范围区域搜索指定色数量。(支持多色、偏色、相似度比较)点击详情 命令参数: 参数1:整数型,屏幕左上角X坐标 参数2:整数型,屏幕左上角Y坐标 参数3:整数型,屏幕右下角X坐标 参数4:整数型,屏幕右下角Y坐标 参数5:字符串型,第一点16进制颜色值 参数6:整数型,颜色相似度,取值范围0.1-1.0(推荐0.9,计算两两颜色值相似程度所在多少百分比) 返回值:整数型,颜色数量。 脚本例子:- '判断多个点颜色是否符合条件
- '判断坐标(100,200)颜色是否为白色(FFFFFF)或纯黄-偏色(00FFFF-002800)
- '判断坐标(105,205)颜色是否为白色
- '判断坐标(120,240)颜色是否为红色(0000FF),颜色相似度0.9
- If CmpColorEx("100|200|FFFFFF|00FFFF-002800,105|205|FFFFFF,120|240|0000FF",0.9) = 1 Then
- TracePrint "全部点颜色相等符合条件"
- Else
- TracePrint "全部点颜色不相等"
- End if
复制代码 命令原理:顾名思义。 命令名称:SetControlBarPos 命令功能:浮窗位置设置。(设置脚本启动时候控制台(浮窗)在屏幕右侧的高度及其锁定状态) 命令参数: 参数1:(必填)整数型,位置,浮窗在右侧的高度比例,取值范围为0-1.0。 参数2:(可选)整数型,是否锁定(锁定后无法人工调整),当其没有或为0时表示不锁定,1表示锁定。 返回值:无 脚本例子:- Dim IntX,IntY
- FindMultiColor 0,0,720,1920,"FFFFFF","50|0|000000,-10|80|FFFF00,5|-15|00D7FF",0,0.9,intX,intY
- If intX 命令原理:顾名思义。
待续……
|