马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
function bool getpixelcolorandcompare(int hwnd,int x,int y,int stdcolor,double similarity)//后台像素点取色并进行模糊比较
//参数1:hwnd表示要取色的窗口句柄; 参数2和3:x,y分别表示要取色的客户区坐标;
//参数4:stdcolor表示与我们取得的颜色进行比较的标准色;参数5:similarity表示颜色比较的相似度,取值在0~1之间
int xycolor,R,G,B
int stdR,stdG,stdB
double stds
bool boolR,boolG,boolB
stds=255*(1-similarity)
xycolor=bkgnd.getpixelcolor(hwnd,x,y)
color.hextorgb(stdcolor,stdR,stdG,stdB)
color.hextorgb(xycolor,R,G,B)
boolR=(math.abs(R-stdR)<=stds)
boolG=(math.abs(G-stdG)<=stds)
boolB=(math.abs(B-stdB)<=stds)
if ((boolR&&boolG&&boolB)==true)
return true
else
return false
endif
endfunction
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
后台像素点取色,是所有后台取色找图中最节省资源的方式了,其他方式很容易卡巴死机。但是不论是案件精灵还是tc都只提供了一个后台取像素点颜色的函数,不能进行模糊比较,而如果进行直接相等比较的话,脚本很容易出问题,不稳定。
由于我没上游戏,没实地检测,只是语法通过了后,就贴上来了,不排除有瑕疵的可能性,欢迎指正
|