TC官方合作论坛
标题:
写了后台像素点取色并进行模糊色比较的函数
[打印本页]
作者:
木馬王子
时间:
2011-11-7 19:45
标题:
写了后台像素点取色并进行模糊色比较的函数
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都只提供了一个后台取像素点颜色的函数,不能进行模糊比较,而如果进行直接相等比较的话,脚本很容易出问题,不稳定。
由于我没上游戏,没实地检测,只是语法通过了后,就贴上来了,不排除有瑕疵的可能性,欢迎指正
作者:
小风子
时间:
2011-11-7 20:11
自己封装函数!支持!
作者:
木馬王子
时间:
2011-11-7 20:30
这个函数对于后台编程很实用啊,官方可以考虑在bkgnd中加入这个函数奥
作者:
yysaplie
时间:
2011-11-8 00:27
直接就看不懂晕死
作者:
woodfish
时间:
2012-2-12 15:32
太高深了
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1