按键精灵后台找色的问题
后台找到色了我现在在找色的区域内,要找2个相同的色块,只有在这2个相同的色块同时找到时,才能达到条件,只出现一个色块的时候就达不到条件.我之前的找色命令是这样的:XY=P...
后台找到色了
我现在在找色的区域内,要找2个相同的色块,只有在这2个相同的色块同时找到时,才能达到条件,只出现一个色块的时候就达不到条件.
我之前的找色命令是这样的:
XY = Plugin.Bkgnd.FindColor(Hwnd, 1286 - QP(0), 103 - QP(1), 1409 - QP(0), 184 - QP(1), "FFFFFF")
ZB = InStr(XY, "|")
X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
If X > 0 And Y > 0 Then
Exit Do
End If
找到一个就退出循环,现在我需要找到2个才退出,找到1个或没找到,就继续,请问这个应该怎么写啊? 展开
我现在在找色的区域内,要找2个相同的色块,只有在这2个相同的色块同时找到时,才能达到条件,只出现一个色块的时候就达不到条件.
我之前的找色命令是这样的:
XY = Plugin.Bkgnd.FindColor(Hwnd, 1286 - QP(0), 103 - QP(1), 1409 - QP(0), 184 - QP(1), "FFFFFF")
ZB = InStr(XY, "|")
X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
If X > 0 And Y > 0 Then
Exit Do
End If
找到一个就退出循环,现在我需要找到2个才退出,找到1个或没找到,就继续,请问这个应该怎么写啊? 展开
2个回答
展开全部
要么就设置2组找色的,比如x1,y1和x2,y2,然后用if 当x1,y1,x2,y2都>0的时候,条件才往下面执行,还有一种就是不要用单独的找色命令,用多点找色来解决这个问题
更多追问追答
追问
找2个相同的色同时在,不太会呀
追答
Plugin.Color.FindMultiColor 左上角X坐标,左上角Y坐标,右下角X坐标,右下角Y坐标,第一点16进制颜色值,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色,相似度
上面这条是多点找色的命令,有些参数你需要在按键精灵才可以设置,比如你要截图,那张图片要包含你要找的色(2个以上),其次就是上面命令中“第一点16进制颜色值”为第一个颜色 第二个“符合颜色偏移组就是指你第二个,第三个,第四个等等找的 偏移x坐标,偏移y坐标,颜色值 这3个选项,多个就依次累计按照格式增加”。
示例:
XY = Plugin.Color.FindMultiColor(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-3|3|FFFFFF,0|3|FFFFFF,4|3|FFFFFF,-1|5|FFFFFF,3|5|FFFFFF,-3|6|FFFFFF,-6|7|FFFFFF,1|8|FFFFFF,4|8|FFFFFF,-5|10|FFFFFF,-3|10|FFFFFF,4|10|FFFFFF", 1)
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
Hwnd = Plugin.Window.Find(0, "0")
Hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
Dim Myarray
Myarray=Split(sRect,"|")
Ux=CLng(Myarray(0))
Uy=CLng(Myarray(1))
Call Plugin.Window.Top(Hwnd, 0)
GetColor = Plugin.Bkgnd.GetPixelColor(Hwnd, 1286, 103)
If GetColor = "FFFFFF"Then
GetColor = Plugin.Bkgnd.GetPixelColor(Hwnd, 1409, 184)
If GetColor = "FFFFFF"Then
End If
End If
Hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
Dim Myarray
Myarray=Split(sRect,"|")
Ux=CLng(Myarray(0))
Uy=CLng(Myarray(1))
Call Plugin.Window.Top(Hwnd, 0)
GetColor = Plugin.Bkgnd.GetPixelColor(Hwnd, 1286, 103)
If GetColor = "FFFFFF"Then
GetColor = Plugin.Bkgnd.GetPixelColor(Hwnd, 1409, 184)
If GetColor = "FFFFFF"Then
End If
End If
追问
我需要在1286,103和1409,184的区域内,找到2个相同的色同时在,就退出循环,若是只有一个色在,就结束IF执行下一条命令
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询