• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[郭立员] [安卓按键]遍历同一图片在屏幕上出现的所有坐标 [复制链接]

1#
大家好,我是公众号3分钟学堂的郭立员,今天继续我们的按键精灵安卓版源码分享,这一期带来的是遍历图片在屏幕上出现的所有坐标脚本源码。

适用范围:
同一个图片在屏幕上出现多次,如下图所示:





上面这些图都比较简单, 要找的图片都在一列上,而我们这期代码不局限于这种,而是全屏任意排列,保证无遗漏查找。


使用方法:
①使用抓抓截取你要找的图片
②查看截图的大小尺寸,填入到代码的第一部分(这部分也可以使用命令获取图片大小)
③把图片上传到脚本附件,修改脚本中的1.png和你的截图名称一致。
④确定找图范围,如果是全屏找图,无需修改,如果是指定找图范围,需要修改sx1,sy1,sx2,sy2这几个变量。
⑤代码执行完得到的是所有的坐标,并且存入到数组变量arr中,如果需要使用坐标操作,可以通过变量数组获取坐标。
⑥对于仅需要点击坐标的情况,可以不用存入数组,直接在找图里面用
tap intx,inty

脚本源码:
'定义截图的大小
Dim x=18
Dim y=20

'获取屏幕大小,如果指定范围,直接填写数值
Dim sx1=0
Dim sy1=0
Dim sx2=GetScreenX()
Dim sy2=GetScreenY()

'定义存储坐标的数组变量
Dim arr(),n=0

'遍历图片
Dim intx,inty
KeepCapture
For j = 0 To cint((sy2-sy1)/y)
For i = 0 To CInt((sx2 - sx1) / x)
FindPic sx1+x*i, sy1+y*j, sx1+2*x-1+x*i, sy1+2*y-1+y*j, "Attachment:1.png","000000", 0, 0.9, intX, intY
If intX > -1 And intY > -1 Then
arr(n) = intx & "," & inty
n=n+1
End If
Next
Next
ReleaseCapture

TracePrint join(arr,"|")

本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:29:46 执行 审核帖子 操作
扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
2#

友情顶贴:
  1. 一图多坐标
  2. Dim img,startx,starty,endx,endy,count
  3. Dim intX, intY
  4. img = "Attachment:1.png"'改成自己图片名称
  5. startx = 1 : starty = 1 : endx = 720 : endy = 1028 : count = 0'前4参数改成自己分辨率
  6. Do
  7. FindPic startx, starty, endx, endy, img, "000000", 0, 0.9, intX, intY
  8. If intx = - 1 Then
  9. If startx=0 Then Exit do //查找结束
  10. starty = starty + 1 : startx = 0
  11. Else
  12. If inty = starty or startx = 0 Then
  13. startx = intx + 1:starty=inty
  14. count = count + 1
  15. TracePrint intX, intY
  16. Else
  17. startx = 0 : starty = starty + 1
  18. End If
  19. End If
  20. Loop

  21. ********************
  22. 一字多坐标
  23. TracePrint SetDictEx(0, "Attachment:123.txt")
  24. TracePrint UseDict(0)
  25. //以上两句脚本只需要调用一次

  26. Dim img,startx,starty,endx,endy,count
  27. Dim intX, intY
  28. img = "安装"'改成自己文字
  29. startx = 1 : starty = 1 : endx = 1028: endy = 720 : count = 0'前4参数改成自己分辨率
  30. Do
  31. FindStr(startx, starty, endx, endy,img,"A0A0A0-303030",0.8,intX,intY)
  32. If intx = - 1 Then
  33. If startx=0 Then Exit do //查找结束
  34. starty = starty + 1 : startx = 0
  35. Else
  36. If inty = starty or startx = 0 Then
  37. startx = intx + 1:starty=inty
  38. count = count + 1
  39. TracePrint intX, intY
  40. Else
  41. startx = 0 : starty = starty + 1
  42. End If
  43. End If
  44. Loop
复制代码

点评

郭立员  666  发表于 2022/3/2 22:07:39

最后编辑瑞祥幽冥狼 最后编辑于 2022-03-02 16:57:09
收 徒 索 引 ← ← ← ← ← ← ← ← ← ← 点 击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
3#


4#

好东西学习一下

5#

学习一下!

6#

一直看郭老师的教程

7#

1233454

8#

完美符合需求!感谢

9#

支持一下

10#

这就很厉害。 我想看PC版的

11#

6666666666666666

12#


13#

x谢谢分享

14#

8888888888888888888888

15#

学习学习,谢谢大佬

16#

谢大佬分享

17#

感谢分享!







Yeah分享

18#

这就很厉害。 我想看PC版的

19#

真的学习

20#

cvbvcbcvbcvb

发新话题 回复该主题