制作大漠字库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
制作⼤漠字库
许多童鞋在写脚本的时候时常会遇到需要识别字符的情况,这种字符的出现往往是
有包含了⽐较复杂的背景⾊。
如果是使⽤找图的⽅式去找的话,那就需要先把字符
截图下来,然后对图⽚进⾏透明图处理,才能成功的使⽤找图⽅式查找。
这种⽅法有很⼤的弊端,⼀⽅⾯如果要找的字符⽐较多的话,需要每张图都需要慢
慢处理,⼯作量⼤,另⼀⽅⾯,这种⽅法只能⽤来识别固定顺序的字符,如果字符
排列顺序变化的话就⽆法识别了。
今天⼩编就给⼤家介绍下使⽤⼤漠插件快速找字的⽅法
⼤漠找字命令
按键精灵本⾝的插件命令⾥就有包含了找字的命令。
(还不知道的童鞋赶快去看这⾥,下载最新的按键精灵插件:【院刊】-【201501期】新增变速、找字等插件命令!赶紧来下载!)但是按键精灵本⾝的找字命令有⽐较⼤的缺陷,它只能识别系统⾃带的字库字体。
⽽⼤漠插件除了能识别系统字体外也能通过制作字库的⽅式去识别其他的字体。
PS:什么样的字体才算是系统字体呢?其实打开记事本⾥的字体设置,⾥⾯列出的⼀⼤堆都是系统字库本⾝就包含的字体,这些就是系统字体。
有⼀些游戏它显⽰出来的⽂字并不是直接利⽤系统字库⽣成的,⽽是有⾃⼰的⼀套字库,这种字体往往都是有加了特效,以及形状有改变。
系统字库字体:
游戏⾃带字体:
⼤漠制作字库
以下为本帖隐藏内容
==============================
对于系统字体的识别使⽤按键精灵⾃带的插件就可以完成了,所以我们这⾥就不多做介绍了。
主要是介绍下使⽤⼤漠⼯具制作的字库的⽅法
⼯具准备
在制作字库之前需要先下载⼤漠综合⼯具,下载地址:⼤漠综合⼯具下载
制作字库
打开⼤漠综合⼯具,点击红框处的抓图按钮,把需要制作成字库的⽂字截图下来
我们这⾥就先拿个⽹页游戏的地图名称为例⼦,做⼀个地图名称的字库。
1、先把字符部分截图下来,然后就可以在左上⾓看到刚才截取的图⽚
2、点击下⾯的红框处,选择添加上要找的字符的颜⾊,以及设置好适当的偏⾊。
记得要勾选上后⾯的勾才能⽣效
关于设置偏⾊的⽅法可以参考之前的⼀篇院刊:如何识别渐变⾊或半透明的⽂字
PS: 对于偏⾊的设置,使⽤偏⾊计算器是⼀种⽐较精确的⽅法。
如果对于偏⾊要求不需要那么精确的话,可以直接简单的设置成222222 或者333333 这样的范围,都是⽐较通⽤的偏⾊。
3、选择好颜⾊之后,会在右上⽅的⼆值化区域⾥看到经过了⼆值化处理的字符信息。
然后点击“提取点阵(单个)”按钮就可以把这个点阵信息提取出来
⼆值化就是把符合颜⾊像素点转换成⽩⾊,其他的像素点全部转换成⿊⾊。
PS:提取单个就是把识别到的字符信息当成是整个字符保存,如果选择提取多个点阵的话,就可以把字符拆分成多个分别保存成字库
4、在右边的定义⽂字那⾥输⼊这个字符表达的信息,按回车即可完成这个字库的制作了
代码编写
字库已经制作完成了,按接下来就需要编写代码对它进⾏识别
设置字库⽂件
做好的字库是⾃动⽣成了⼀个TXT的⽂本,⼤漠综合⼯具默认是⽣成在⼯具当前的⽬录下的。
我们可以把这个字库⽂件添加到按键精灵附件当中,在调⽤字库的时候先释放出来再使⽤
找字命令
⼤漠的找字命令有两种,⼀种是FindStr命令,他是在范围内找到某⼀个特定的字的坐标;另⼀种是OCR命令,他是在范围内根据特定的颜⾊,来找到可以识别到的字符
FindStr命令代码
1. Call 注册⼤漠
2. dm.SetDict(0, "dm_soft.txt")//设置字库⽂件,把这个字库⽂件编号为0
3. //找字命令,在范围内找到“僵⼫”这个字符的位置
4. dm_ret = dm.FindStr(0,0,2000,2000,"僵⼫","ffffff-000000",1.0,intX,intY)
5. If intX >= 0 and intY >= 0 Then
6. TracePrint "找到字符,坐标为" & x & "," & y
7. End If
8.
9. Sub 注册⼤漠() //注册⼤漠
10. Set ws = createobject("Wscript.Shell")
11. ws.run "regsvr32 atl.dll /s"
12. Set ws = nothing
13. PutAttachment "G:\test", "*.*"
14. PutAttachment ".\Plugin" ,"RegDll.dll"
15. call Plugin.RegDll.Reg ( "G:\test\dm.dll")
16. Set dm = createobject("dm.dmsoft")
17. ver = dm.ver()
18. If len(ver) = 0 Then
19. MessageBox "插件注册失败,检查系统是否禁⽤了vbs脚本权限"
20. EndScript
21. End If
22. End Sub
复制代码
OCR 命令代码
1. Call 注册⼤漠
2. dm.SetDict(0, "dm_soft.txt")//设置字库⽂件,把这个字库⽂件编号为0
3. //找字命令,在范围内,根据ffffff 这个颜⾊输出能够识别到的字符
4. dm_ret = dm.Ocr(0,0,2000,2000,"ffffff-000000",1.0)
5. TracePrint "找到的字符为:" & dm_ret
6.
7. Sub 注册⼤漠() //注册⼤漠
8. Set ws = createobject("Wscript.Shell")
9. ws.run "regsvr32 atl.dll /s"
10. Set ws = nothing
11. PutAttachment "G:\test", "*.*"
12. PutAttachment ".\Plugin" ,"RegDll.dll"
13. call Plugin.RegDll.Reg ( "G:\test\dm.dll")
14. Set dm = createobject("dm.dmsoft")
15. ver = dm.ver()
16. If len(ver) = 0 Then
17. MessageBox "插件注册失败,检查系统是否禁⽤了vbs脚本权限"
18. EndScript
19. End If
20. End Sub
复制代码
这次是给⼤家介绍了⼤漠的制作字库找字的基础的⽅法和操作的步骤。
希望对于初学⼤漠的童鞋有帮助。