开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6170|回复: 29
收起左侧

[2021开源大赛(第六届)] 指定区域找色

[复制链接]

结帖率:100% (18/18)
发表于 2021-11-18 08:13:31 | 显示全部楼层 |阅读模式   福建省泉州市
前天给论坛网友提供了一个区域找色的写法
搜了一下发现论坛上没有相关源码或者标题关键字
在此将子程序模块化后分享给初学者

源码扩展思路(只是个想法,没写)
①找到目标色值后不跳出循环,将寻找结果加入数组继续寻找,寻找结束返回所有结果
②颜色模糊查找,目标色值设定偏差,嵌套一个茶色数组加入循环查找
③识图方向,模糊识图,取指定图片指定若干坐标点颜色值,依照各坐标点的坐标差作为坐标定位,在区域找色匹配(工作量似乎有点大,而且好像没必要)


源码主体:
程序集  Adm_图色
自定义数据类型  Adm_取色

其余内容为测试和调用示例

调用了精易模块命令    窗口_取坐标处颜色()


  
子程序名返回值类型公开备 注
Adm_区域找色Adm_取色 在指定窗口区域查找颜色,返回查找结果,返回值为自定数据类型,包含成员:结果_逻辑型,X_整数型,Y_整数型
参数名类 型参考可空数组备 注
参_窗口句柄整数型目标窗口句柄,整数型
参_起点Adm_取色找色起点坐标,自定数据类型,包含成员:结果_逻辑型,X_整数型,Y_整数型,此处需提供X、Y值
参_终点Adm_取色找色终点坐标,自定数据类型,包含成员:结果_逻辑型,X_整数型,Y_整数型,此处需提供X、Y值
参_目标颜色整数型欲寻找的颜色值,十进制整数型
变量名类 型静态数组备 注
i整数型列循环增量
n整数型行循环增量
局_临时变量整数型 
局_找色Adm_取色自定数据类型,包含成员:结果_逻辑型,X_整数型,Y_整数型
局_颜色整数型 
如果真 (参_起点.X > 参_终点.X)  ' 参数调节
局_临时变量 = 参_起点.X
参_起点.X = 参_终点.X
参_终点.X = 局_临时变量

如果真 (参_起点.Y > 参_终点.Y)  ' 参数调节
局_临时变量 = 参_起点.Y
参_起点.Y = 参_终点.Y
参_终点.Y = 局_临时变量

判断 (参_起点.X > 0 参_起点.Y > 0)
i = 0  ' 定义列增量初始值,增量为0,从起点Y开始搜索
变量循环首 (参_起点.Y, 参_终点.Y, 1, i)  ' 外层循环,纵向搜索列
n = 0  ' 定义行增量初始值,增量为0,从起点X开始搜索
变量循环首 (参_起点.X, 参_终点.X, 1, n)  ' 内层循环,横向搜索行
局_找色.X = 参_起点.X + n  ' 当前取色点横坐标X
局_找色.Y = 参_起点.Y + i  ' 当前取色点纵坐标Y
局_颜色 = 窗口_取坐标处颜色 (参_窗口句柄, 局_找色.X, 局_找色.Y)
如果真 (局_颜色 = 参_目标颜色)  ' 已找到目标,跳出行取色循环(内层循环)
跳出循环 ()

变量循环尾 ()
如果真 (局_颜色 = 参_目标颜色)  ' 找到目标,跳出列取色循环(外层循环)
局_找色.结果 = 真
跳出循环 ()

如果真 (参_起点.Y + i ≥ 参_终点.Y 局_颜色 ≠ 参_目标颜色)  ' 到最后一行循环结束了还没找到指定颜色
局_找色.结果 = 假
局_找色.X = -1
局_找色.Y = -1

变量循环尾 ()
返回 (局_找色)
信息框 (“搜索区域超出窗口范围”, 0, “提示”, )
返回 (局_找色)

  
数据类型名公开备 注
Adm_取色 Adm_区域找色
成员名类 型传址数组备 注
结果逻辑型  
X整数型  
Y整数型  




Adm_区域找色.e

924.17 KB, 下载次数: 102, 下载积分: 精币 -2 枚

74413.png

评分

参与人数 1好评 +1 精币 +5 收起 理由
易语言资源网 + 1 + 5 支持开源~!感谢分享

查看全部评分

结帖率:100% (1/1)
发表于 2024-9-23 15:09:26 | 显示全部楼层   浙江省杭州市
学习学习
回复 支持 反对

使用道具 举报

发表于 2024-8-4 14:57:58 | 显示全部楼层   湖南省*
支持开源啊啊啊
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 14 天

发表于 2024-1-23 20:29:11 | 显示全部楼层   江苏省苏州市
6666666666666
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2023-12-24 12:34:55 | 显示全部楼层   贵州省黔西南布依族苗族自治州
hghgvjkhjkvhjkvhjvkhjkvvhjk
回复 支持 反对

使用道具 举报

结帖率:91% (69/76)

签到天数: 1 天

发表于 2023-5-12 21:20:07 | 显示全部楼层   江苏省盐城市
6666666666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2022-11-26 17:20:33 | 显示全部楼层   江苏省南京市
精币不够 回复来凑?
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2022-11-26 17:20:14 | 显示全部楼层   江苏省南京市
下载学习下啊
回复 支持 反对

使用道具 举报

发表于 2022-5-19 16:03:51 | 显示全部楼层   重庆市重庆市
下载学习....
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2022-4-4 08:50:01 | 显示全部楼层   宁夏回族自治区吴忠市

111111111111111111111111111111
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表