• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.0
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.3
软件大小:29.2M
更新时间:06-14

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

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

登录 注册
发新话题 回复该主题

[已解决] 中心找图 [复制链接]

1#
先找图 找到某个点 保存好后, 可以从这个点扩散找图吗 ?

本主题由 超级版主 n15976906190 于 2018/10/11 0:00:27 执行 主题分类 操作
2#

回复 1楼871255671的帖子

方案1:
http://bbs.anjian.com/showtopic-649468-1.aspx#9439456
方案2:
获取所有图片坐标
  1. img = "D:\pic\1.bmp"
  2. st = Plugin.Sys.GetTime()
  3. startx = 0 : starty = 0 : endx = 1440 : endy = 900 : count = 0
  4. Do
  5. FindPic startx, starty, endx, endy, img, 1.0, intX, intY
  6. If intx = - 1 Then
  7. If startx=0 Then Exit do //查找结束
  8. starty = starty + 1 : startx = 0
  9. Else
  10. If inty = starty or startx = 0 Then
  11. startx = intx + 1:starty=inty
  12. count = count + 1
  13. 结果 = 结果 & vblf & intx & "," & inty
  14. Else
  15. startx = 0 : starty = starty + 1
  16. End If
  17. End If
  18. Loop
  19. s=Plugin.Sys.GetTime() -st
  20. MessageBox "找到" & count & "张,耗时:" & s & vblf & 结果
复制代码
计算距离最近的
  1. a=点到点坐标组最近的一个(400,258,"12,35|654,541|221,564|321,335|665,999|976,551")
  2. TracePrint a
  3. Function 点到点坐标组最近的一个(x, y, 坐标组字符串)//坐标组格式"x1,y1|x2,y2|x3,y3"
  4. Dim i, 坐标数组,min,返回坐标值
  5. 坐标数组 = split(坐标组字符串, "|")//把坐标组字符串转换为数组
  6. TracePrint UBound(坐标数组)
  7. For i = 0 To UBound(坐标数组)//UBound(坐标数组)得到坐标组下标最大值,可以只需要计算完所有坐标就行了.
  8. 距离=(split(坐标数组(i),",")(0)-x)^2+(split(坐标数组(i),",")(1)-y)^2//利用勾股定理求出距离,这儿没必要再加绝对值函数,因为平方之后正负值结果都是一样,这儿没必要求根,开跟增加时间复杂度
  9. If i = 0 Then
  10. min = 距离//先装第一个点到第一个坐标的距离
  11. Else
  12. If 距离 < min Then //判断目前的距离值是不是比前面的小,如果小,就记录现在的距离为最小,并且记录坐标
  13. min = 距离
  14. 返回坐标值=坐标数组(i)
  15. End If
  16. End If
  17. Next
  18. min=Sqr(min)//计算出距离
  19. 点到点坐标组最近的一个="最近点的坐标是:"&返回坐标值&"距离是:"&min//返回最近点的坐标x,y,距离D
  20. End Function
复制代码

收徒
----将满
个人QQ:1223116618
发新话题 回复该主题