按键精灵如何判断区域颜色数量
自己有个思路就是用数组取区域各点颜色数量,但感觉如果区域较大的话,执行会比较慢!主要还是自己不会用数组!麻烦高手给个源码!谢谢!或者给个判断区域颜色数量超过两种就执行.....
自己有个思路就是用数组取区域各点颜色数量,但感觉如果区域较大的话,执行会比较慢!主要还是自己不会用数组!麻烦高手给个源码!谢谢! 或者给个判断区域颜色数量超过两种就执行....也行!
展开
2个回答
2013-08-06
展开全部
用数组取区域各点颜色数量,但感觉如果区域较
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-06
展开全部
2种,
1:在插件里元代有区域找多色插件命令
2:靠数组完成也很简单,也可以不用数组,但既然你说数组的,我就发个数组的
Dim ys(2)
For y=0 To 768
For x=0 To 1024
//上面是找的坐标,我默认为1024*768
GetColor=GetPixelColor(x,y)
If ys(0)="" Then
ys(0)=GetColor
ElseIf ys(1)="" and ys(0)<>GetColor Then
ys(1)=GetColor
Elseif ys(2)="" and ys(0)<>GetColor and ys(1)<>GetColor
ys(2)=GetColor
End If
If ys(2)>""
//如果超过3种颜色
Call tk()
Exit For
End If
Call Plugin.Msg.Tips("设别坐标"&x&","&y&"")
Next
Next
MessageBox "区域内只有2种颜色"
Sub tk()
MessageBox "区域内以超过3个颜色,,,,特别提醒,1班颜色很难有相同的,除非是自己画的图,不然比如1个游戏窗口1024*768的游戏,当前画面全部颜色点能够相同的几乎不会超过5个,1024*768就大概有7000多个点,相同的都不足5个,,,这种判断是没什么意义的"
MessageBox "在查找范围内,第1个颜色16进制颜色码为"&ys(0)&""
MessageBox "在查找范围内,第2个颜色16进制颜色码为"&ys(1)&""
MessageBox "在查找范围内,第3个颜色16进制颜色码为"&ys(2)&""
EndScript
End Sub
1:在插件里元代有区域找多色插件命令
2:靠数组完成也很简单,也可以不用数组,但既然你说数组的,我就发个数组的
Dim ys(2)
For y=0 To 768
For x=0 To 1024
//上面是找的坐标,我默认为1024*768
GetColor=GetPixelColor(x,y)
If ys(0)="" Then
ys(0)=GetColor
ElseIf ys(1)="" and ys(0)<>GetColor Then
ys(1)=GetColor
Elseif ys(2)="" and ys(0)<>GetColor and ys(1)<>GetColor
ys(2)=GetColor
End If
If ys(2)>""
//如果超过3种颜色
Call tk()
Exit For
End If
Call Plugin.Msg.Tips("设别坐标"&x&","&y&"")
Next
Next
MessageBox "区域内只有2种颜色"
Sub tk()
MessageBox "区域内以超过3个颜色,,,,特别提醒,1班颜色很难有相同的,除非是自己画的图,不然比如1个游戏窗口1024*768的游戏,当前画面全部颜色点能够相同的几乎不会超过5个,1024*768就大概有7000多个点,相同的都不足5个,,,这种判断是没什么意义的"
MessageBox "在查找范围内,第1个颜色16进制颜色码为"&ys(0)&""
MessageBox "在查找范围内,第2个颜色16进制颜色码为"&ys(1)&""
MessageBox "在查找范围内,第3个颜色16进制颜色码为"&ys(2)&""
EndScript
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询