大漠使用的插件/大漠帮助文档都在
百度云->我的收藏软件>http://pan.baidu.com/s/1o8njlCQ
大漠注册
1.把插件和字库图片等放到附件中等待被释放
2.代码注册(注册完后,文件就会被释放到对应文件夹中,以后找资源就会在这个路径下查找)
/*-------------注册大漠-----------*/
Function registerDM
PutAttachment "C:\dm\","*.*" //所以文件都释放到c盘大漠目录下
Call Plugin.RegDll.Reg("C:\dm\dm.dll") //注意dm.dll
Set dm = createobject("dm.dmsoft") //创建一个大漠对象
dm.SetPath "C:\dm\" //设置资源路径(以后找图片,.dll,字符什么的都是在这个文件夹下)
dm.SetDict 0, "签到.txt"//设置字库
//dm.SetDict 1,"字库2.txt"
End Function
/*说明一下:
有的朋友把路径设置在./Plugin/下,也就是自己按键精灵的安装目录的Plugin文件夹下
但是我没有,因为我经常把脚本发布为小精灵给其他朋友玩;但是其他朋友又没有装按键精灵,
所以也就不会存在./Plugin这个文件夹,所以我直接放到C:盘下了,这样当朋友使用我的小精灵
时会自动释放dm.dll到他电脑中,这样就可以方便的注册使用dm了
*/
大漠找图
1.截取要找的图(保存为.bmp格式)放到附件中
2.代码
//注册大漠
registerDM
//获取屏幕宽高
screenW = Plugin.Sys.GetScRX
screenH = Plugin.Sys.GetScRY
//找图
dm_ret = dm.FindPic(0,0,screenW,screenH,"1.bmp|2.bmp|3.bmp","000000",0.9,0,intX,intY) //这里图片不用写路径,会在默认路径下找
If intX >= 0 and intY >= 0 Then
MessageBox "找到"
End If
//参数1:坐标范围(前四)
//参数2:要找的图片(可以多张)
//参数3:偏色(在找图中感觉没什么用,在找字中细讲)
//参数4:相似度(在自己截图的地方找,相似度可以很高,如果要适应不同环境,那么可以调低)
//参数5:查找方向(0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上)
//参数6:在多张图片中,第一张被找到图片的位置
//返回值:返回找到的图片的序号,从0开始索引.如果没找到返回-1
大漠找字
有时候找图不行,可以尝试找字操作
1.打开大漠综合工具
2.用“抓图”截取要找的字
注意:
- 1.字的背景最好是统一的颜色,这样更容易分离字和背景,如果不是,也可以用系统的画板(Ctrl+滚轮 放大)来把非字的像素涂成同一颜色
- 2.截的字最少离背景有一个像素距离
原理:
图片中如果4个角的颜色是一样的,那么系统会把该点的颜色做透明色处理,那么找字的时候该颜色就会被忽略(个人理解,求指正)
在匹配的过程中里面的红点会被忽略
3.找偏色
偏色就是组成字的几种颜色(xp下貌似都是单色,多好找),也就是在找的时候,会在这些偏色的范围内去匹配
4.把字符添加到附件中
5.代码
dm.UseDict(0)
dm_ret = dm.FindStrFast(0,0,screenW,screenH,"大漠找字","352f2f-000000|2f2f2f-000000",0.7,intX,intY)
If intX >= 0 and intY >= 0 Then
MoveTo intX,intY
End If
总结:
找图找字在只有在本机中能够发挥最大作用;
在其他电脑,可能由于分辨率,显示屏等原因造成找图/字不准,所以在使用中最好根据使用的机器来截图/字
注意:
在多线程中,大漠在不同线程都需要注册大漠(调用注册大漠函数即可)