TC官方合作论坛

 找回密码
 立即注册
查看: 2232|回复: 4

[源码分享] 写了后台像素点取色并进行模糊色比较的函数

[复制链接]
发表于 2011-11-7 19:45:20 | 显示全部楼层 |阅读模式

马上加入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都只提供了一个后台取像素点颜色的函数,不能进行模糊比较,而如果进行直接相等比较的话,脚本很容易出问题,不稳定。

由于我没上游戏,没实地检测,只是语法通过了后,就贴上来了,不排除有瑕疵的可能性,欢迎指正

回复

使用道具 举报

发表于 2011-11-7 20:11:19 | 显示全部楼层
自己封装函数!支持!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-7 20:30:46 | 显示全部楼层
这个函数对于后台编程很实用啊,官方可以考虑在bkgnd中加入这个函数奥
回复 支持 反对

使用道具 举报

发表于 2011-11-8 00:27:18 | 显示全部楼层
直接就看不懂晕死
回复 支持 反对

使用道具 举报

发表于 2012-2-12 15:32:08 | 显示全部楼层
太高深了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-21 14:34 , Processed in 0.034717 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表