'---------------伪后台找图DC-带句柄-------------------------
Function 找图DC(句柄,图片名称,基准起点X,基准起点Y,基准终点X,基准终点Y)
//伪后台(全局变量:hwnd,找图_intX,找图_intY)
//调用函数:Lib.通用.getwindow_X(Hwnd);Lib.通用.getwindow_Y(Hwnd);Lib.通用.IsCol
//------------------------------------------------------------------------
// 跑环图标_bmp = "跑环图标_BMP,Z1,3,B25BC7,0,0,EEFAFF,0.7,-149,6,1,12"
//------------------------------------------------------------------------
//"伪图名称_BMP,搜索代码,查找方向,目标色值,返回相对基点坐标X,返回相对基点坐标Y,验正色值,色相似度,验正相对基点坐标X,验正相对基点坐标Y,定点基准X,定点基准Y"
//"伪图名称_BMP,基准代码,查找方向,基准图片,返回相对基点坐标X,返回相对基点坐标Y,验正色值,色相似度,验正相对基点坐标X,验正相对基点坐标Y,相对基准X,相对基准Y"
//"伪图名称_BMP,搜索代码,查找方向,目标色块,返回相对基点坐标X,返回相对基点坐标Y,验正色值,色相似度,验正相对基点坐标X,验正相对基点坐标Y,色块宽值X,色块高值Y"
//"伪图名称_BMP,搜索代码,查找方向,找字词值,返回相对基点坐标X,返回相对基点坐标Y,验正色值,色相似度,验正相对基点坐标X,验正相对基点坐标Y,字号1 , 字号2"
//----------------------搜索代码-------------------------------------------
//"L"//一区左半屏 "L1"//一区左半屏"L2"//一区左半屏
//"R"//二区右半屏 "R1"//二区右半屏"R2"//二区右半屏
//"T"//三区上半屏 "T1"//三区上半屏"T2"//三区上半屏
//"B"//四区下半屏 "B1"//四区下半屏"B2"//四区下半屏
//"A1","LT"//五区左上屏"A2","RT"//六区右上屏"A3","LB"//七区左下屏"A4","RB"//八区右下屏
//"O"//九区中央
//"Z0"//十区中心偏移"Z1"//左上角偏移"Z2"//右上角偏移"Z3"//左下角偏移"Z4"//右下角偏移
//"G"//打怪区域(100, 100,Lib.通用.getwindow_X(Hwnd) - 100,Lib.通用.getwindow_Y(Hwnd) - 150)
//----------------------基准代码(免搜索目标点)----------不支持找色快定图,找字定图--------------------------------
//"J"//变量基准,(,基准起点X,基准起点Y)
//"P"//定图基准X,定图基准X(不用时填-1)(相对图版基准)
//"D"//定点基准X,定点基准Y(不用时填-1)
//"D1"//左上角(0,0)"D2" //右上角(Lib.通用.getwindow_X(Hwnd)-1,0)"D3" //左下角(0,Lib.通用.getwindow_Y(Hwnd)-1)"D4" //右下角(Lib.通用.getwindow_X(Hwnd)-1,Lib.通用.getwindow_Y(Hwnd)-1)
//----------------------自定义色块搜索范围代码------------------------------------------
//"S"//自定义色块搜索范围 基准起点X,基准起点Y,基准终点X,基准终点Y
//-----------------------------------------------------------------------
//验正色值:支持相似度验正;(支持多值);如: 000000:FFFFFF
//目标色块;找字词值:支持色相似度
//目标色值:只支持同色值搜索
//-----------------------------------------------------------------------
//查找方向:找图 (0: 从左到右,从上到下 1:中间)
//查找方向:找色块 (0+2: 从左到右,从上到下 //1+2: 从左到右,从下到上 //2+2: 从右到左,从上到下 //3+2: 从右到左,从下到上 ) 不支持基准代码(免搜索目标点)
//查找方向:找字 (0+6: 从左到右,从上到下 //1+6: 从左到右,从下到上 //2+6: 从右到左,从上到下 //3+6: 从右到左,从下到上 ) 不支持基准代码(免搜索目标点)免验正点验正
//-----------------------------------------------------------------------
Dim TP_ARR, XY, ZB, B_X, B_Y, n, sig
Dim 搜索方式,验正点
找图DC = 0
n=10 //定义中心点偏移后点的找色范围,不宜过大,适用就可以
sig=0 //字号位置校正参数
TP_ARR = split(图片名称, ",")
select case TP_ARR(1)
case "J" //变量基准
B_X =基准起点X
B_Y =基准起点Y
Case "D" //定点基准
B_X =clng(TP_ARR(10))
B_Y = clng(TP_ARR(11))
Case "P"//定图基准
Call 找图B(TP_ARR(3))
B_X = 找图_intX +clng(TP_ARR(10))
B_Y = 找图_intY +clng(TP_ARR(11))
Case "D1" //左上角(0,0)
B_X =0
B_Y =0
Case "D2" //右上角(Lib.通用.getwindow_X(句柄)-1,0)
B_X =Lib.通用.getwindow_X(句柄)-1
B_Y =0
case "D3" //左下角(0,Lib.通用.getwindow_Y(句柄)-1)
B_X =0
B_Y =Lib.通用.getwindow_Y(句柄)-1
case "D4" //右下角(Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)-1)
B_X =Lib.通用.getwindow_X(句柄)-1
B_Y =Lib.通用.getwindow_Y(句柄)-1
case Else
Select case TP_ARR(2)
case "1"
Select Case TP_ARR(1)
Case "L"//一区左半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "L1"//一区左半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "L2"//一区左半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, Lib.通用.getwindow_X(句柄) / 4, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "R"//二区右半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "R1"//二区右半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄) / 4 * 3, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "R2"//二区右半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, Lib.通用.getwindow_X(句柄) / 4 * 3, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "T"//三区上半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, 0, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3))
Case "T1"//三区上半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, 0, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) / 4, TP_ARR(3))
Case "T2"//三区上半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3))
Case "B"//四区下半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3))
Case "B1"//四区下半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3))
Case "B2"//四区下半屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4 * 3, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "A1","LT"//五区左上屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3))
Case "A2","RT"//六区右上屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3))
Case "A3","LB"//七区左下屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "A4","RB"//八区右下屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
Case "O"//九区中央
XY = Plugin.Bkgnd.FindCenterColor(句柄, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄) / 4 * 3, Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3))
Case "Z0"//十区中心偏移
XY = Plugin.Bkgnd.FindCenterColor(句柄, (Lib.通用.getwindow_X(句柄) / 2 + TP_ARR(10)) - n, (Lib.通用.getwindow_Y(句柄) / 2 + TP_ARR(11)) - n, (Lib.通用.getwindow_X(句柄) / 2 + TP_ARR(10)) + n, (Lib.通用.getwindow_Y(句柄) / 2 + TP_ARR(11)) + n, TP_ARR(3))
Case "Z1"//左上角偏移
XY = Plugin.Bkgnd.FindCenterColor(句柄, (0 + TP_ARR(10)) - n, (0 + TP_ARR(11)) - n, (0 + TP_ARR(10)) + n, (0 + TP_ARR(11)) + n, TP_ARR(3))
Case "Z2"//右上角偏移
XY = Plugin.Bkgnd.FindCenterColor(句柄, (Lib.通用.getwindow_X(句柄) -1+TP_ARR(10))-n,(0+TP_ARR(11))-n,(Lib.通用.getwindow_X(句柄) -1+TP_ARR(10))+n,(0+TP_ARR(11))+n,TP_ARR(3))
Case "Z3"//左下角偏移
XY = Plugin.Bkgnd.FindCenterColor(句柄, (0+TP_ARR(10))-n,(Lib.通用.getwindow_Y(句柄) -1+TP_ARR(11))-n,(0+TP_ARR(10))+n,(Lib.通用.getwindow_Y(句柄)-1+TP_ARR(11))+n,TP_ARR(3))
Case "Z4"//右下角偏移
XY = Plugin.Bkgnd.FindCenterColor(句柄, (Lib.通用.getwindow_X(句柄) - 1 + TP_ARR(10)) - n, (Lib.通用.getwindow_Y(句柄) - 1 + TP_ARR(11)) - n, (Lib.通用.getwindow_X(句柄) - 1 + TP_ARR(10)) + n, (Lib.通用.getwindow_Y(句柄) - 1 + TP_ARR(11)) + n, TP_ARR(3))
// Case "G"//打怪
// XY = Plugin.Bkgnd.FindCenterColor(句柄, 100, 100, Lib.通用.getwindow_X(句柄) - 100, Lib.通用.getwindow_Y(句柄) - 150, TP_ARR(3))
Case "S"//自定义
XY = Plugin.Bkgnd.FindCenterColor(句柄,基准起点X,基准起点Y,基准终点X,基准终点Y, TP_ARR(3))
Case else//全屏
XY = Plugin.Bkgnd.FindCenterColor(句柄, 0, 0, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3))
End Select
Case "0"
Select Case TP_ARR(1)
Case "L"//一区左半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "L1"//一区左半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0, 0,Lib.通用.getwindow_X(句柄) / 4,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "L2"//一区左半屏
XY = Plugin.Bkgnd.FindColorEx(句柄,Lib.通用.getwindow_X(句柄)/4,0,Lib.通用.getwindow_X(句柄)/2,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "R"//二区右半屏
XY = Plugin.Bkgnd.FindColorEx(句柄,Lib.通用.getwindow_X(句柄) / 2, 0,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "R1"//二区右半屏
XY = Plugin.Bkgnd.FindColorEx(句柄,Lib.通用.getwindow_X(句柄) / 2, 0,Lib.通用.getwindow_X(句柄)/4*3,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "R2"//二区右半屏
XY = Plugin.Bkgnd.FindColorEx(句柄,Lib.通用.getwindow_X(句柄)/4*3,0,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "T"//三区上半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0, 0,Lib.通用.getwindow_X(句柄),Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3),TP_ARR(2), 1)
Case "T1"//三区上半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0, 0,Lib.通用.getwindow_X(句柄),Lib.通用.getwindow_Y(句柄) / 4, TP_ARR(3),TP_ARR(2), 1)
Case "T2"//三区上半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3),TP_ARR(2), 1)
Case "B"//四区下半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0,Lib.通用.getwindow_Y(句柄) / 2,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "B1"//四区下半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0,Lib.通用.getwindow_Y(句柄) / 2,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)/4*3, TP_ARR(3),TP_ARR(2), 1)
Case "B2"//四区下半屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0,Lib.通用.getwindow_Y(句柄) / 4*3,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "A1","LT"//五区左上屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0,0,Lib.通用.getwindow_X(句柄)/2,Lib.通用.getwindow_Y(句柄)/2, TP_ARR(3),TP_ARR(2), 1)
Case "A2","RT"//六区右上屏
XY = Plugin.Bkgnd.FindColorEx(句柄,Lib.通用.getwindow_X(句柄)/2,0,Lib.通用.getwindow_X(句柄),Lib.通用.getwindow_Y(句柄)/2, TP_ARR(3),TP_ARR(2), 1)
Case "A3","LB"//七区左下屏
XY = Plugin.Bkgnd.FindColorEx(句柄, 0,Lib.通用.getwindow_Y(句柄)/2,Lib.通用.getwindow_X(句柄)/2,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "A4","RB"//八区右下屏
XY = Plugin.Bkgnd.FindColorEx(句柄,Lib.通用.getwindow_X(句柄)/2,Lib.通用.getwindow_Y(句柄)/2,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
Case "O"//九区中央
XY = Plugin.Bkgnd.FindColorEx(句柄,Lib.通用.getwindow_X(句柄) / 4,Lib.通用.getwindow_Y(句柄) / 4,Lib.通用.getwindow_X(句柄) / 4 * 3,Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3), TP_ARR(2), 1)
Case "Z0"//十区中心偏移
XY = Plugin.Bkgnd.FindColorEx(句柄, (Lib.通用.getwindow_X(句柄) / 2+TP_ARR(10))-n,(Lib.通用.getwindow_Y(句柄) / 2+TP_ARR(11))-n,(Lib.通用.getwindow_X(句柄) / 2+TP_ARR(10))+n,(Lib.通用.getwindow_Y(句柄) / 2+TP_ARR(11))+n,TP_ARR(3),TP_ARR(2), 1)
Case "Z1"//左上角偏移
XY = Plugin.Bkgnd.FindColorEx(句柄, (0+TP_ARR(10))-n,(0+TP_ARR(11))-n,(0+TP_ARR(10))+n,(0+TP_ARR(11))+n,TP_ARR(3),TP_ARR(2), 1)
Case "Z2"//右上角偏移
XY = Plugin.Bkgnd.FindColorEx(句柄, (Lib.通用.getwindow_X(句柄) -1+TP_ARR(10))-n,(0+TP_ARR(11))-n,(Lib.通用.getwindow_X(句柄) -1+TP_ARR(10))+n,(0+TP_ARR(11))+n,TP_ARR(3),TP_ARR(2), 1)
Case "Z3"//左下角偏移
XY = Plugin.Bkgnd.FindColorEx(句柄, (0+TP_ARR(10))-n,(Lib.通用.getwindow_Y(句柄) -1+TP_ARR(11))-n,(0+TP_ARR(10))+n,(Lib.通用.getwindow_Y(句柄)-1+TP_ARR(11))+n,TP_ARR(3),TP_ARR(2), 1)
Case "Z4"//右下角偏移
XY = Plugin.Bkgnd.FindColorEx(句柄, (Lib.通用.getwindow_X(句柄)-1+TP_ARR(10))-n,(Lib.通用.getwindow_Y(句柄)-1+TP_ARR(11))-n,(Lib.通用.getwindow_X(句柄) -1+TP_ARR(10))+n,(Lib.通用.getwindow_Y(句柄) -1+TP_ARR(11))+n,TP_ARR(3),TP_ARR(2), 1)
// Case "G"//打怪
// XY = Plugin.Bkgnd.FindColorEx(句柄, 100, 100, Lib.通用.getwindow_X(句柄) - 100, Lib.通用.getwindow_Y(句柄) - 150, TP_ARR(3), TP_ARR(2), 1)
Case "S"//自定义
XY = Plugin.Bkgnd.FindColorEx(句柄, 基准起点X,基准起点Y,基准终点X,基准终点Y, TP_ARR(3), TP_ARR(2), 1)
Case else//全屏
XY = Plugin.Bkgnd.FindColorEx(句柄,0,0,Lib.通用.getwindow_X(句柄)-1,Lib.通用.getwindow_Y(句柄)-1, TP_ARR(3),TP_ARR(2), 1)
End Select
Case "2", "3", "4", "5"
搜索方式 = clng(TP_ARR(2)) - 2
Select Case TP_ARR(1)
Case "L"//一区左半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "L1"//一区左半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "L2"//一区左半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄,Lib.通用.getwindow_X(句柄) /4,0, Lib.通用.getwindow_X(句柄) /2, Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "R"//二区右半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "R1"//二区右半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄) /4*3, Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "R2"//二区右半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄,Lib.通用.getwindow_X(句柄) /4*3,0, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "T"//三区上半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, 0, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "T1"//三区上半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, 0, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) / 4, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "T2"//三区上半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "B"//四区下半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "B1"//四区下半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) /4*3, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "B2"//四区下半屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4*3, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "A1","LT"//五区左上屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0,0, Lib.通用.getwindow_X(句柄) /2,Lib.通用.getwindow_Y(句柄) /2, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "A2","RT"//六区右上屏
XY = Plugin.Bkgnd.FindColorBlock(句柄,Lib.通用.getwindow_X(句柄) /2,0,Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) /2, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "A3","LB"//七区左下屏
XY = Plugin.Bkgnd.FindColorBlock(句柄, 0, Lib.通用.getwindow_Y(句柄) /2,Lib.通用.getwindow_X(句柄) /2, Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "A4","RB"//八区右下屏
XY = Plugin.Bkgnd.FindColorBlock(句柄,Lib.通用.getwindow_X(句柄) /2, Lib.通用.getwindow_Y(句柄) /2, Lib.通用.getwindow_X(句柄) , Lib.通用.getwindow_Y(句柄) , TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
Case "O"//九区中央
XY = Plugin.Bkgnd.FindColorBlock(句柄, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄) / 4 * 3, Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
// Case "G"//打怪
// XY = Plugin.Bkgnd.FindColorBlock(句柄, 100,100, Lib.通用.getwindow_X(句柄) - 300, Lib.通用.getwindow_Y(句柄) - 150, TP_ARR(3), TP_ARR(10), TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
//
Case "S","G"//自定义
XY = Plugin.Bkgnd.FindColorBlock(句柄, 基准起点X,基准起点Y,基准终点X,基准终点Y, TP_ARR(3), TP_ARR(10), TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
Case Else//全屏
XY = Plugin.Bkgnd.FindColorBlock(句柄,0,0, Lib.通用.getwindow_X(句柄) -1, Lib.通用.getwindow_Y(句柄) -1, TP_ARR(3), TP_ARR(10),TP_ARR(11),搜索方式,cdbl(TP_ARR(7)))
End Select
Case "6", "7", "8", "9"
搜索方式 = clng(TP_ARR(2)) - 6
Select Case TP_ARR(1)
Case "L"//一区左半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(10) , 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "L1"//一区左半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "L2"//一区左半屏
XY = Plugin.Bkgnd.FindWordShape(句柄,Lib.通用.getwindow_X(句柄) /4,0, Lib.通用.getwindow_X(句柄) /2, Lib.通用.getwindow_Y(句柄) , TP_ARR(3), "", TP_ARR(10), 搜索方式,cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄,Lib.通用.getwindow_X(句柄) /4,0, Lib.通用.getwindow_X(句柄) /2, Lib.通用.getwindow_Y(句柄) , TP_ARR(3), "", TP_ARR(11), 搜索方式,cdbl(TP_ARR(7)))
sig=1
End If
Case "R"//二区右半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "R1"//二区右半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄) / 4 * 3, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄) / 4 * 3, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "R2"//二区右半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 4 * 3, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 4 * 3, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "T"//三区上半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "", TP_ARR(10) , 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "", TP_ARR(11) , 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "T1"//三区上半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 4, TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 4, TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "T2"//三区上半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "B"//四区下半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "B1"//四区下半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "B2"//四区下半屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4 * 3, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 4 * 3, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "A1","LT"//五区左上屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "", TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "A2","RT"//六区右上屏
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, 0, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄) / 2, TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "A3","LB"//七区左下屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(10) , 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄), TP_ARR(3), "", TP_ARR(11) , 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "A4","RB"//八区右下屏
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 2, Lib.通用.getwindow_Y(句柄) / 2, Lib.通用.getwindow_X(句柄), Lib.通用.getwindow_Y(句柄), TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "O"//九区中央
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄) / 4 * 3, Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3), "",TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, Lib.通用.getwindow_X(句柄) / 4, Lib.通用.getwindow_Y(句柄) / 4, Lib.通用.getwindow_X(句柄) / 4 * 3, Lib.通用.getwindow_Y(句柄) / 4 * 3, TP_ARR(3), "",TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "G"//打怪
XY = Plugin.Bkgnd.FindWordShape(句柄, 100, 100, Lib.通用.getwindow_X(句柄) - 300, Lib.通用.getwindow_Y(句柄) - 150, TP_ARR(3), TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 100, 100, Lib.通用.getwindow_X(句柄) - 300, Lib.通用.getwindow_Y(句柄) - 150, TP_ARR(3), TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case "S"//自定义
XY = Plugin.Bkgnd.FindWordShape(句柄, 基准起点X, 基准起点Y, 基准终点X, 基准终点Y, TP_ARR(3), "", TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 基准起点X, 基准起点Y, 基准终点X, 基准终点Y, TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
Case Else//全屏
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3), "", TP_ARR(10), 搜索方式, cdbl(TP_ARR(7)))
If XY = "-1|-1" and TP_ARR(11)<>0 Then
XY = Plugin.Bkgnd.FindWordShape(句柄, 0, 0, Lib.通用.getwindow_X(句柄) - 1, Lib.通用.getwindow_Y(句柄) - 1, TP_ARR(3), "", TP_ARR(11), 搜索方式, cdbl(TP_ARR(7)))
sig=1
End If
End Select
end select
ZB = InStr(XY, "|")
B_X = Clng(Left(XY, ZB - 1)) : B_Y = Clng(Right(XY, Len(XY) - ZB))
End Select
If B_X >= 0 and B_Y >= 0 Then
If (clng(TP_ARR(8)) = 0 and clng(TP_ARR(9)) = 0) or instr("6789",TP_ARR(2))>0 Then //免验正点验正(验正点坐标为0,找字类型)
// 找图_intX = cint(TP_ARR(4))+ b_x+sig
// 找图_intY = cint(TP_ARR(5)) + B_Y
找图_intX = TP_ARR(4)+ b_x+sig
找图_intY = TP_ARR(5)+ B_Y
找图DC=1
日志运行内容 = V_当前程序 & "DX----------->找到图片:" & TP_ARR(0) & "[" & TP_ARR(1) & "]" & "[" & TP_ARR(3) & "]" & "(" & B_X & "," & B_Y & ")"
Else
验正点=Plugin.Bkgnd.GetPixelColor(句柄, clng(TP_ARR(8)) + b_x, clng(TP_ARR(9)) + B_Y)
If TP_ARR(7) = 1 Then
If instr(TP_ARR(6),验正点) > 0 Then
找图_intX = TP_ARR(4)+ b_x
找图_intY = TP_ARR(5)+ B_Y
找图DC=1
日志运行内容 = V_当前程序 & "DX----------->找到图片:" & TP_ARR(0) & "[" & TP_ARR(1) & "]" & "[" & TP_ARR(3) & "]" & "(" & B_X & "," & B_Y & ")"
Else
找图_intX = - 1
找图_intY = - 1
日志运行内容 = V_当前程序&"DX未找到图片: "&TP_ARR(0)&"["&TP_ARR(1)&"]"&"["&TP_ARR(3)&"]"&"("&B_X&","&B_Y&") 验正点:["&验正点&"]("&TP_ARR(8)&","&TP_ARR(9)&")"
End If
Else
If Lib.通用.IsCol(验正点, TP_ARR(6), cdbl(TP_ARR(7)))=true Then
找图_intX = TP_ARR(4)+ b_x
找图_intY = TP_ARR(5)+ B_Y
找图DC=1
日志运行内容 = V_当前程序&"DX----->找到图片:"&TP_ARR(0)&"["&TP_ARR(1)&"]"&"["&TP_ARR(3)&"]"&"("&B_X&","&B_Y&")"
Else
找图_intX = - 1
找图_intY = - 1
日志运行内容 = V_当前程序&"DX未找到图片: "&TP_ARR(0)&"["&TP_ARR(1)&"]"&"["&TP_ARR(3)&"]"&"("&B_X&","&B_Y&") 验正点:["&验正点&"]("&TP_ARR(8)&","&TP_ARR(9)&")"
End If
End If
End If
Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容
Else
找图_intX = - 1
找图_intY = - 1
日志运行内容 = V_当前程序 & "DX未找到图片: " & TP_ARR(0) & "[" & TP_ARR(1) & "]" & "[" & TP_ARR(3) & "]" & "(" & B_X & "," & B_Y & ")"
Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容
End If
End Function