03 大漠的简单使用

大漠使用的插件/大漠帮助文档都在

百度云->我的收藏软件>http://pan.baidu.com/s/1o8njlCQ

大漠注册

1.把插件和字库图片等放到附件中等待被释放

03 大漠的简单使用_第1张图片
Paste_Image.png

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.打开大漠综合工具

03 大漠的简单使用_第2张图片
Paste_Image.png

2.用“抓图”截取要找的字

03 大漠的简单使用_第3张图片
Paste_Image.png

注意:

  • 1.字的背景最好是统一的颜色,这样更容易分离字和背景,如果不是,也可以用系统的画板(Ctrl+滚轮 放大)来把非字的像素涂成同一颜色
  • 2.截的字最少离背景有一个像素距离
    原理:
    图片中如果4个角的颜色是一样的,那么系统会把该点的颜色做透明色处理,那么找字的时候该颜色就会被忽略(个人理解,求指正)
03 大漠的简单使用_第4张图片
Paste_Image.png

在匹配的过程中里面的红点会被忽略

3.找偏色
偏色就是组成字的几种颜色(xp下貌似都是单色,多好找),也就是在找的时候,会在这些偏色的范围内去匹配

03 大漠的简单使用_第5张图片
Paste_Image.png

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
总结:

找图找字在只有在本机中能够发挥最大作用;
在其他电脑,可能由于分辨率,显示屏等原因造成找图/字不准,所以在使用中最好根据使用的机器来截图/字

注意:
在多线程中,大漠在不同线程都需要注册大漠(调用注册大漠函数即可)

你可能感兴趣的:(03 大漠的简单使用)