| |
经常在论坛里看到有人发按键精灵找图求助的帖子,所以特意写了此篇文章。虽然我以前有抓图的经验,但为了写篇像样的文章,特意做了不少实验。
首先要强调的是设置找图参数问题(不是刚学抓图的人,这点可以不用看)。下面是找图的语句:
VBSCall Call FindPic(left,top,right,bottom,filename,similar,x,y)
left处填写找图区域的左边界,top处填写找图区域的上边界,right处填写找图区域的右边界,bottom处填写找图区域的下边界。
设置的找图区域不要出屏幕范围,否则可能会出错。如果屏幕分辨率是1024×768,那屏幕范围是0,0,1023,767;如果如果屏幕分辨率是800×600,那屏幕范围是0,0,799,599。因为屏幕坐标是从0开始算的,不是从1开始算的,所以右边界和下边界的值要减 1。曾经看到有人找图范围设置成0,0,800,600,就超出了屏幕范围。
filename处填图片文件名的路径,也可以只填文件名,这时墨认图片文件的路径是在script文件夹下,图片文件要是BMP格式的,JPG格式估计不行,失真大。
similar处填图片的相似度,取值在0.5到1之间,取的值越大,相似度越高,找图的速度也越快。虽然按键精灵的作者推荐取0.9,但只要图不是透明的,背景设置正确(这是这篇文章的重点),设成1都能找到。
x处填保存找到的图片的横坐标的变量,y处填保存找到的图片的纵坐标的变量。这程序返回的是找到的图片的左上角的坐标。当程序找不到符合的图片时,这2个变量都被置-1。这里要注意,如果脚本中用鼠标的位置来指示找到的图片,如果没有考虑到找不到符号图片的问题,当找不到符合的图片时,虽然鼠标不能移到坐标(-1,-1)处,但鼠标会移到屏幕左上角,也就是坐标(0,0)处。
|
|