资源描述:
《大漠插件字库原理介绍.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、首先说明下大漠综合工具制作字库的过程和原理1.截取你所需要的图片2.点击你所需要字的颜色3.点击提取点阵4.输入字符按回车生成字库具体的原理我不好说,但是就我的理解是:对图片中不符合指定颜色的部分去除掉,然后二值化获取点阵,点阵也就是这些颜色的分布规律,二值化就是黑白两色,RGB格式中黑色"000000"白色"ffffff"由于我的脚本在别人电脑上运行的时候经常失效,今天改成16位色后我机器上运行也失效了,而我这个脚本主要采用的就是大漠插件的找字功能,我以为是机器间的色偏造成的,一直想法子算色偏,但是我失败了。后来我想起论坛上有个帖子专门讲过同色系的RGB格式中R值是不变的(不好意思忘了
2、作者了,在这里致谢)于是我就在大漠综合工具的色偏处输入了00ffff结果是在16位色环境下,大漠综合工具中二值化区域内的字显示的跟我在32位色环境下做的一模一样,接着我提取点阵,制作字库,进行调试,命令格式如下:dm_ret=dm.FindStr(0,0,978,585,"码","ffd463-00ffff",1.0,x1,y1)Ifx1>=0Then MessageBoxx1&y1EndIf准确的弹出了x,y的坐标值接着我换32位色做同样的调试,显示结果与16位色下相同,我测了坐标正好是我要找的字的左上角经多次测试发现这个方法中字色的R值必须为FF或00(至于F1,01等未测试,有
3、兴趣的朋友可以试试)庆幸啊以后找字可以不考虑偏色了呵呵再说了考虑我也不会算具体原理我也不是很懂,但是我估计应该是:我比较了点阵中R值相同的所有点,取得符合二值化点阵区域内所有的点造成的再次提醒此方法只适合R值为00,FF的其他位置相同的未测试当然这么做效率是低了点,但是在我看来脚本应该是:稳定性>通用性>执行效率,毕竟脚本也是你编写的一种软件吗鲜花,银币在哪拿来啊呵呵简单说下后台操作的方法,先判断该窗口是否支持后台,用下面的语句:Hwnd=Plugin.Window.Foreground()Hwmd=Plugin.Window.GetkeyFocusWnd()IfHwmd<>0thenM
4、essagebox"可以"ElseMessagebox"不可以"Endif然后把下面的放在脚本开头Hwnd=Plugin.Window.Foreground()Hwnd=Plugin.Window.GetkeyFocusWnd()//下面接自己的代码首先后台一点是要有句柄、这个很简单第一步我们先打开抓抓,接着点击句柄接着把鼠标移到你所要后台的窗口上,按下F8是否看见当前窗口句柄那里出现一串数字?把它复制下来第二步我们点击图像,在指定窗口句柄那里打钩接着把数字复制进去按下抓图键(PrintScreenSysRq)是否只看见你要后台的的图像呢?对着你所需要的坐标按右键加入点1记住坐标然后加入
5、到后台鼠标点击里面就行了第三步我们在后台命令中找到鼠标指向窗口点击插入命令是Hwnd=Plugin.Window.MousePoint()第四步我们要进行后台鼠标点击或者后台输入键盘命令是CallPlugin.Bkgnd.LeftClick(Hwnd,0,0)在按键看了很多教程关于"多开..."的我看了后回味,似乎都是单线程的,往往新手会问,难道不能让精灵同事做2件事情吗?新手问的其实是问:按键可以多线程后台吗?由此我突然奇想且试验成功.且次试验可将任何的单开后台变为多开后台脚本.如有愚昧的地方指指教了. 作业:设计一个在记事本上后台打字"1"的循环代码要求:能循环多开Hwnd=Plug
6、in.Window.MousePoint()remaCallPlugin.Bkgnd.KeyPress(Hwnd,49)Delay500gotoa注:8.0写的如只有7的同学自己翻译不太难的回复后能见教程本帖隐藏的内容需要回复才可以浏览第一步:将禁止脚本重复运行选为否(在是否循环的下面)第二步:设置启动热键为F2(以免与记事本热键冲突)第三步:保存退出(或选调试)第四步:打开第一个记事本文件,鼠标指中按F2,此时可看见后台打的111出现最小化第五步:打开第二个记事本文件,鼠标指中按F2,此时可看见后台打的111出现最小化........此时你如果将多个记事本都打开看他们都在干活呢----
7、---可以无限后台多开-多线程的哦总结:第一步很关键.启示:如果我做的"打1"的脚本换成打怪的呢?第1步:什么是后台插件及命令首先我们要明白什么是后台插件以及后台命令,在编辑窗口找到全部命令,找到窗口插件(建议大家可以站内搜一下361插件,下载后放进去,看一下361插件的命令),点开后点击每一条命令仔细看说明,对比每条命令跟前台命令的对应关系,这样我们就可以把对应的前台命令转换为后台命令了。第2步:窗口句柄的概念以及如何找出窗口句柄