精易论坛

标题: 【原创】完美实现纯代码模仿按键精灵判断某点颜色约等于 [打印本页]

作者: wh78845069    时间: 2023-5-14 11:26
标题: 【原创】完美实现纯代码模仿按键精灵判断某点颜色约等于
本帖最后由 wh78845069 于 2023-5-14 11:30 编辑


因为经常用按键精灵,就尝试了能不能使用易语言代码实现模糊判断颜色的逻辑
理论上就是通过系统截图单个像素点,然后读取字节集。
经过测试,原版按键精灵为RGB每个数值+-50,当变动超过50时,判定为失败。
根据原按键精灵函数接口定义了参数,使用的的文本型十六进制代码
网上有很多图色模块但是几乎都是不开源的,这个是实现原理,有兴趣的可以一起交流。
  
子程序名返回值类型公开备 注
判断指定点颜色逻辑型 条件成立为真,失败返回假
参数名类 型参考可空数组备 注
X坐标整数型
Y坐标整数型
给定颜色文本型#FFFFFF 十六进制颜色代码BBGGRR
判断模式整数型0=等于  1=不等于  2=约等于
判断精度逻辑型按键精灵默认=50 (仅约等于时有效)
变量名类 型静态数组备 注
位置矩阵矩形数据 
取得数据字节集 
R值整数型 
G值整数型 
B值整数型 
取得颜色代码文本型 
R值给定整数型 
G值给定整数型 
B值给定整数型 
返回值逻辑型 
' 获取颜色逻辑——————————————————————
位置矩阵.左边 = X坐标
位置矩阵.右边 = X坐标 + 1
位置矩阵.顶边 = Y坐标
位置矩阵.底边 = Y坐标 + 1
取得数据 = 截取屏幕区域 (位置矩阵, 2, )
R值 = 取字节集数据 (取得数据, 1, 57)
G值 = 取字节集数据 (取得数据, 1, 56)
B值 = 取字节集数据 (取得数据, 1, 55)
' 使用16进制判断的模式——————————————————————
如果真 (判断模式 = 0 判断模式 = 1)
如果 (B值 < 16)
取得颜色代码 = “0”取十六进制文本 (B值)
取得颜色代码 = 取十六进制文本 (B值)
如果 (G值 < 16)
取得颜色代码 = 取得颜色代码 + “0”取十六进制文本 (G值)
取得颜色代码 = 取得颜色代码 + 取十六进制文本 (G值)
如果 (B值 < 16)
取得颜色代码 = 取得颜色代码 + “0”取十六进制文本 (R值)
取得颜色代码 = 取得颜色代码 + 取十六进制文本 (R值)

返回值 = 假
如果真 (判断模式 = 0 取得颜色代码 = 给定颜色)  ' 当判断模式为0时(判断是否等于)
返回值 = 真
如果真 (判断模式 = 1 取得颜色代码 ≠ 给定颜色)  ' 当判断模式为1时(判断是否不等于)
返回值 = 真


' 使用10进制模糊判断的模式——————————————————————
如果真 (判断模式 = 2)
R值给定 (寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (给定颜色, 5, 1), , ) - 1) × 16 + 寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (给定颜色, 6, 1), , ) - 1
G值给定 (寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (给定颜色, 3, 1), , ) - 1) × 16 + 寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (给定颜色, 4, 1), , ) - 1
B值给定 (寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (给定颜色, 1, 1), , ) - 1) × 16 + 寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (给定颜色, 2, 1), , ) - 1
如果 (取绝对值 (R值给定 - R值) ≤ 50 取绝对值 (G值给定 - G值) ≤ 50 取绝对值 (B值给定 - B值) ≤ 50)
返回值 = 真
返回值 = 假

返回 (返回值)


i支持库列表   支持库注释   
eAPI应用接口支持库

测试使用的程序.e

7.63 KB, 下载次数: 46, 下载积分: 精币 -2 枚


作者: 一指温柔    时间: 2023-5-14 11:30
感谢分享
作者: jysoft2022    时间: 2023-5-14 12:22
感谢分享
作者: 撒加    时间: 2023-5-14 12:25
感谢分享 !
作者: weihua2018    时间: 2023-5-14 13:28
如果你这个要真的能识别是不是可以定位hk?
作者: pipicool    时间: 2023-5-14 13:44
学习一下
作者: wh78845069    时间: 2023-5-14 13:53
weihua2018 发表于 2023-5-14 13:28
如果你这个要真的能识别是不是可以定位hk?

?啥意思   这个只是指定点颜色的判断  不是区域找色
作者: 小7度    时间: 2023-5-14 15:57
感谢分享
作者: lmluo    时间: 2023-5-14 16:21
大大的牛批啊
作者: 深圳梦    时间: 2023-5-14 17:51
        感谢分享,很给力!~
作者: nameliuhaobo    时间: 2023-5-14 19:01
good6666666666
作者: 服毒自尽    时间: 2023-5-14 22:06
不错不错,我很喜欢
作者: 光影魔术    时间: 2023-5-14 23:47
感谢分享源码
作者: a3960382663    时间: 2023-5-15 05:54
开源精神必须支持~
作者: 一指温柔    时间: 2023-5-15 08:51
谢谢分享~~~~~~~~~~~~
作者: CSL跳舞软件系统    时间: 2023-5-15 09:25
用内存不好吗。。
作者: CSL跳舞软件系统    时间: 2023-5-15 12:01
能取窗口句柄的X Y就完美
作者: xtavoxing    时间: 2023-5-15 14:14
真棒........
作者: 396384183    时间: 2023-5-16 00:37
看看,学习下
作者: 一指温柔    时间: 2023-5-16 09:35
感谢分享
作者: kyo9766    时间: 2023-5-16 14:23
简单实用,感谢分享
作者: 完玩    时间: 2023-5-17 18:12
非常牛逼 66666
作者: TZ绝情    时间: 2023-5-21 22:53
没管理员身份运行会报错
作者: BILLC090910    时间: 2023-5-22 00:31
66666666666666作者是算法大师
作者: dljy    时间: 2023-5-22 01:48
        开源精神必须支持~
作者: 清风徐来2    时间: 2023-5-27 11:58
感谢分享
作者: nyb123    时间: 2023-5-31 21:55
我是来学习的  支持开源
作者: 2366    时间: 2023-6-5 11:04
大神抓颜色用什么工具?
作者: wh78845069    时间: 2023-6-5 11:48
本帖最后由 wh78845069 于 2023-6-5 11:49 编辑
2366 发表于 2023-6-5 11:04
大神抓颜色用什么工具?

十六进制颜色代码BBGGRR,你用啥工具都行呀。。。。。。。这个是仿按键精灵语法的,直接用按键精灵抓色就行

作者: 宁静清澈    时间: 2023-6-9 19:52
我是来学习的  支持开源
作者: tws666    时间: 2024-7-21 14:30
11111111111111111111111111111111111111
作者: tws666    时间: 2024-7-21 14:30
11111111111111111111111111111111
作者: tws666    时间: 2024-7-21 15:20
11111111111111111111111111111111
作者: 胖子葛格    时间: 2024-8-22 18:27
感谢大神分享~!
作者: qinwyin    时间: 2025-5-29 10:59
谢谢分享.....




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4