資源描述:
《大漠插件字庫原理介紹.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、首先說明下大漠綜合工具制作字庫的過程和原理1.截取你所需要的圖片2.點(diǎn)擊你所需要字的顏色3.點(diǎn)擊提取點(diǎn)陣4.輸入字符按回車生成字庫具體的原理我不好說,但是就我的理解是:對圖片中不符合指定顏色的部分去除掉,然后二值化獲取點(diǎn)陣,點(diǎn)陣也就是這些顏色的分布規(guī)律,二值化就是黑白兩色,RGB格式中黑色"000000"白色"ffffff"由于我的腳本在別人電腦上運(yùn)行的時(shí)候經(jīng)常失效,今天改成16位色后我機(jī)器上運(yùn)行也失效了,而我這個(gè)腳本主要采用的就是大漠插件的找字功能,我以為是機(jī)器間的色偏造成的,一直想法子算色偏,但是我失敗了。后來我想起論壇上有個(gè)帖子專門講過同色系的RGB格式中R值是不變的(不好意思忘了
2、作者了,在這里致謝)于是我就在大漠綜合工具的色偏處輸入了00ffff結(jié)果是在16位色環(huán)境下,大漠綜合工具中二值化區(qū)域內(nèi)的字顯示的跟我在32位色環(huán)境下做的一模一樣,接著我提取點(diǎn)陣,制作字庫,進(jìn)行調(diào)試,命令格式如下:dm_ret=dm.FindStr(0,0,978,585,"碼","ffd463-00ffff",1.0,x1,y1)Ifx1>=0Then???MessageBoxx1&y1EndIf準(zhǔn)確的彈出了x,y的坐標(biāo)值接著我換32位色做同樣的調(diào)試,顯示結(jié)果與16位色下相同,我測了坐標(biāo)正好是我要找的字的左上角經(jīng)多次測試發(fā)現(xiàn)這個(gè)方法中字色的R值必須為FF或00(至于F1,01等未測試,有
3、興趣的朋友可以試試)慶幸啊以后找字可以不考慮偏色了呵呵再說了考慮我也不會(huì)算具體原理我也不是很懂,但是我估計(jì)應(yīng)該是:我比較了點(diǎn)陣中R值相同的所有點(diǎn),取得符合二值化點(diǎn)陣區(qū)域內(nèi)所有的點(diǎn)造成的再次提醒此方法只適合R值為00,F(xiàn)F的其他位置相同的未測試當(dāng)然這么做效率是低了點(diǎn),但是在我看來腳本應(yīng)該是:穩(wěn)定性>通用性>執(zhí)行效率,畢竟腳本也是你編寫的一種軟件嗎鮮花,銀幣在哪拿來啊呵呵簡單說下后臺(tái)操作的方法,先判斷該窗口是否支持后臺(tái),用下面的語句:Hwnd=Plugin.Window.Foreground()Hwmd=Plugin.Window.GetkeyFocusWnd()IfHwmd<>0thenM
4、essagebox"可以"ElseMessagebox"不可以"Endif然后把下面的放在腳本開頭Hwnd=Plugin.Window.Foreground()Hwnd=Plugin.Window.GetkeyFocusWnd()//下面接自己的代碼首先后臺(tái)一點(diǎn)是要有句柄、這個(gè)很簡單第一步我們先打開抓抓,接著點(diǎn)擊句柄接著把鼠標(biāo)移到你所要后臺(tái)的窗口上,按下F8是否看見當(dāng)前窗口句柄那里出現(xiàn)一串?dāng)?shù)字?把它復(fù)制下來第二步我們點(diǎn)擊圖像,在指定窗口句柄那里打鉤接著把數(shù)字復(fù)制進(jìn)去按下抓圖鍵(PrintScreenSysRq)是否只看見你要后臺(tái)的的圖像呢?對著你所需要的坐標(biāo)按右鍵加入點(diǎn)1記住坐標(biāo)然后加入
5、到后臺(tái)鼠標(biāo)點(diǎn)擊里面就行了第三步我們在后臺(tái)命令中找到鼠標(biāo)指向窗口點(diǎn)擊插入命令是Hwnd=Plugin.Window.MousePoint()第四步我們要進(jìn)行后臺(tái)鼠標(biāo)點(diǎn)擊或者后臺(tái)輸入鍵盤命令是CallPlugin.Bkgnd.LeftClick(Hwnd,0,0)在按鍵看了很多教程關(guān)于"多開..."的我看了后回味,似乎都是單線程的,往往新手會(huì)問,難道不能讓精靈同事做2件事情嗎?新手問的其實(shí)是問:按鍵可以多線程后臺(tái)嗎?由此我突然奇想且試驗(yàn)成功.且次試驗(yàn)可將任何的單開后臺(tái)變?yōu)槎嚅_后臺(tái)腳本.如有愚昧的地方指指教了.?作業(yè):設(shè)計(jì)一個(gè)在記事本上后臺(tái)打字"1"的循環(huán)代碼要求:能循環(huán)多開Hwnd=Plug
6、in.Window.MousePoint()remaCallPlugin.Bkgnd.KeyPress(Hwnd,49)Delay500gotoa注:8.0寫的如只有7的同學(xué)自己翻譯不太難的回復(fù)后能見教程本帖隱藏的內(nèi)容需要回復(fù)才可以瀏覽第一步:將禁止腳本重復(fù)運(yùn)行選為否(在是否循環(huán)的下面)第二步:設(shè)置啟動(dòng)熱鍵為F2(以免與記事本熱鍵沖突)第三步:保存退出(或選調(diào)試)第四步:打開第一個(gè)記事本文件,鼠標(biāo)指中按F2,此時(shí)可看見后臺(tái)打的111出現(xiàn)最小化第五步:打開第二個(gè)記事本文件,鼠標(biāo)指中按F2,此時(shí)可看見后臺(tái)打的111出現(xiàn)最小化........此時(shí)你如果將多個(gè)記事本都打開看他們都在干活呢----
7、---可以無限后臺(tái)多開-多線程的哦總結(jié):第一步很關(guān)鍵.啟示:如果我做的"打1"的腳本換成打怪的呢?第1步:什么是后臺(tái)插件及命令首先我們要明白什么是后臺(tái)插件以及后臺(tái)命令,在編輯窗口找到全部命令,找到窗口插件(建議大家可以站內(nèi)搜一下361插件,下載后放進(jìn)去,看一下361插件的命令),點(diǎn)開后點(diǎn)擊每一條命令仔細(xì)看說明,對比每條命令跟前臺(tái)命令的對應(yīng)關(guān)系,這樣我們就可以把對應(yīng)的前臺(tái)命令轉(zhuǎn)換為后臺(tái)命令了。第2步:窗口句柄的概念以及如何找出窗口句柄