TC官方合作论坛

标题: 如何在同一个区域找多个同样图 [打印本页]

作者: 我喜欢TC    时间: 2013-6-6 23:01
标题: 如何在同一个区域找多个同样图
如何在同一个区域找多个同样图?
思路是这样的,求大师们给个源码

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

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

就是这样.谢谢


作者: f45601535    时间: 2013-6-6 23:15
回复 1楼我喜欢TC的帖子

不知道,你是想纯TC去实现这个功能,还是用插件去实现?TC的找图函数好像实现不了,插件可以
作者: 931889694    时间: 2013-6-6 23:15
应该用数组
作者: zhkq    时间: 2013-6-8 11:13
以前我回的一个帖子跟这个问题类似
不知道能不能给你写启发,当时的问题就是捡去游戏物品,地上很多同样的,要挨个点一遍,把能捡的捡走。




其实你的问题不应该是如何区分是否是你的物品,而是如果在点完一个物品之后,不管是否能够捡起都跳过去继续找下一个。这才是你需要解决的问题。换成这个思路之后,再看看找图的说明   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)
循环结束

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




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1