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