TC官方合作论坛

 找回密码
 立即注册
查看: 308|回复: 3
打印 上一主题 下一主题

[已解决] 如何在同一个区域找多个同样图

[复制链接]
跳转到指定楼层
楼主
发表于 2013-6-6 23:01:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如何在同一个区域找多个同样图?
思路是这样的,求大师们给个源码

例如桌面上有八个"新建文件夹"

找查区域是电脑桌面,找图是文件夹的图,颜色什么值的都是一样.返回值是文件夹的数量

就是这样.谢谢

回复

使用道具 举报

地板
发表于 2013-6-8 11:13:26 | 只看该作者
以前我回的一个帖子跟这个问题类似
不知道能不能给你写启发,当时的问题就是捡去游戏物品,地上很多同样的,要挨个点一遍,把能捡的捡走。




其实你的问题不应该是如何区分是否是你的物品,而是如果在点完一个物品之后,不管是否能够捡起都跳过去继续找下一个。这才是你需要解决的问题。换成这个思路之后,再看看找图的说明   scantype: 扫描方式,0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左,从下到上,只可以看出系统扫图的时候是遵循你设定的方式进行扫描的假设你用的是方式0
你要用一个循环解决这个问题

sx=0
sy=0//扫描区域左上角坐标

图片序号=窗口.找图(窗口句柄,sx,sy,1440,900,"d:\\111.bmp|d:\\222.bmp",#203040,0.8,0,rx,ry)


循环 (图片序号!=-1)
    窗口.鼠标左键单击(窗口句柄,rx+10,ry+5)
    辅助.等待(200)
    sy=ry+1//缩小搜索区域,从当前图片向下1个像素开始扫描
    图片序号=窗口.找图(窗口句柄,sx,sy,1440,900,"d:\\111.bmp|d:\\222.bmp",#203040,0.8,0,rx,ry)
循环结束

这样的算法理论上只有两个物品在像素级别同样高度才有可能被忽略掉,剩下的都会被遍历。应该可以解决你的问题,别忘了要采纳呀!
回复 支持 反对

使用道具 举报

沙发
发表于 2013-6-6 23:15:02 | 只看该作者
回复 1楼我喜欢TC的帖子

不知道,你是想纯TC去实现这个功能,还是用插件去实现?TC的找图函数好像实现不了,插件可以
回复 支持 反对

使用道具 举报

板凳
发表于 2013-6-6 23:15:04 | 只看该作者
应该用数组
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-10-4 04:39 , Processed in 0.341353 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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