按键精灵查找屏幕图片数量!
求大神修改!修改到文本输出只输出‘图片数量’才学这个!这是借鉴别人的!bb=查找屏幕图片数量(0,0,1365,767,"Attachment:\333.bmp",0.8...
求大神修改!修改到文本输出只输出‘图片数量’才学这个!这是借鉴别人的!
bb = 查找屏幕图片数量(0, 0, 1365, 767, "Attachment:\333.bmp", 0.8)
SayString bb
Function 查找屏幕图片数量(左坐标, 上坐标, 右坐标, 下坐标, 图片路径, 相似度)
Dim A1, B1, C1, D1, a, b, c, d, n, x, y, H, ZB
A1 = 左坐标 : B1 = 上坐标 : C1 = 右坐标 : D1 = 下坐标 : a = A1 : b = B1 : c = C1 : d = D1 : n = 0 : ZB = ""
//(a.b.c.d)不要修改
Rem 循环搜索
Call FindPic(a, b, c, d, 图片路径, 相似度, x, y)
If (x >= 0 and y >= 0 and y = b and a = A1) Or (x >= 0 and y >= 0 and y = b and a <> A1) Or (x >= 0 and y >= 0 and a = A1 and y <> b) Then
ZB = ZB & X & "," & Y & chr(10) : n = n + 1 : H = y : a = x + 1 : b = y
Goto 循环搜索
ElseIf a > A1 Then
a = A1 : b = H + 1
Goto 循环搜索
End If
查找屏幕图片数量 = n & chr(10) & "坐标:" & chr(10) & ZB
End Function 展开
bb = 查找屏幕图片数量(0, 0, 1365, 767, "Attachment:\333.bmp", 0.8)
SayString bb
Function 查找屏幕图片数量(左坐标, 上坐标, 右坐标, 下坐标, 图片路径, 相似度)
Dim A1, B1, C1, D1, a, b, c, d, n, x, y, H, ZB
A1 = 左坐标 : B1 = 上坐标 : C1 = 右坐标 : D1 = 下坐标 : a = A1 : b = B1 : c = C1 : d = D1 : n = 0 : ZB = ""
//(a.b.c.d)不要修改
Rem 循环搜索
Call FindPic(a, b, c, d, 图片路径, 相似度, x, y)
If (x >= 0 and y >= 0 and y = b and a = A1) Or (x >= 0 and y >= 0 and y = b and a <> A1) Or (x >= 0 and y >= 0 and a = A1 and y <> b) Then
ZB = ZB & X & "," & Y & chr(10) : n = n + 1 : H = y : a = x + 1 : b = y
Goto 循环搜索
ElseIf a > A1 Then
a = A1 : b = H + 1
Goto 循环搜索
End If
查找屏幕图片数量 = n & chr(10) & "坐标:" & chr(10) & ZB
End Function 展开
1个回答
展开全部
这要看具体情况了,你可以把屏幕区域从标设为变量~递加或者递减坐标值来实现如果位置是固定不变只是图片变化的话那应该更好办可以多开几个进程同时找图会事半功倍。。
推荐用文字识别插件,把图片当文字来处理,会简单很多
直接计算屏幕内相同图片的功能,按键精灵是没有的,下面这个脚本可以做到,但效率较低,你可以测试一下
------------------------------------
y0=0
Dim x(),y()
//找到的图片横坐标和纵坐标分别存在x()数组和y()数组中
VBS i=0
//找到的图片数量存在变量i中
VBS pd=1
VBS Dim pd1
VBS Dim x01
VBSCall FindPic(0,y0,1024,768,"Attachment:\1.bmp",1,xz,yz)
TracePrint xz
TracePrint yz
If xz<0 or yz<0
MessageBox "没找到图形"
EndScript
EndIf
//9到13行可以不要
While pd=1
VBSCall FindPic(0,y0,1024,768,"Attachment:\1.bmp",1,xz,yz)
If xz>=0 and yz>=0
VBS ReDim Preserve x(i)
VBS ReDim Preserve y(i)
VBS x(i)=xz
VBS y(i)=yz
VBS i=i+1
VBS y0=yz+1
VBS x01=xz+1
VBS pd1=1
While pd1=1
VBSCall FindPic(x01,yz,1024,yz+12,"Attachment:\1.bmp",1,xz1,yz1)
//12是图的高度
If xz1>=0 and yz1>=0
VBS ReDim Preserve x(i)
VBS ReDim Preserve y(i)
VBS x(i)=xz1
VBS y(i)=yz1
VBS i=i+1
VBS x01=xz1+1
Else
VBS pd1=0
EndIf
EndWhile
Else
VBS pd=0
EndIf
EndWhile
msgbox "一共"&i&"个相同图片"
推荐用文字识别插件,把图片当文字来处理,会简单很多
直接计算屏幕内相同图片的功能,按键精灵是没有的,下面这个脚本可以做到,但效率较低,你可以测试一下
------------------------------------
y0=0
Dim x(),y()
//找到的图片横坐标和纵坐标分别存在x()数组和y()数组中
VBS i=0
//找到的图片数量存在变量i中
VBS pd=1
VBS Dim pd1
VBS Dim x01
VBSCall FindPic(0,y0,1024,768,"Attachment:\1.bmp",1,xz,yz)
TracePrint xz
TracePrint yz
If xz<0 or yz<0
MessageBox "没找到图形"
EndScript
EndIf
//9到13行可以不要
While pd=1
VBSCall FindPic(0,y0,1024,768,"Attachment:\1.bmp",1,xz,yz)
If xz>=0 and yz>=0
VBS ReDim Preserve x(i)
VBS ReDim Preserve y(i)
VBS x(i)=xz
VBS y(i)=yz
VBS i=i+1
VBS y0=yz+1
VBS x01=xz+1
VBS pd1=1
While pd1=1
VBSCall FindPic(x01,yz,1024,yz+12,"Attachment:\1.bmp",1,xz1,yz1)
//12是图的高度
If xz1>=0 and yz1>=0
VBS ReDim Preserve x(i)
VBS ReDim Preserve y(i)
VBS x(i)=xz1
VBS y(i)=yz1
VBS i=i+1
VBS x01=xz1+1
Else
VBS pd1=0
EndIf
EndWhile
Else
VBS pd=0
EndIf
EndWhile
msgbox "一共"&i&"个相同图片"
追问
你复制得真快!!可惜我看过了!!就是看不懂而已!!!我不要解释!!帮我改下就可以了!那个脚本里很多多余的!
追答
恩恩 好吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询