遊戲輔助:用按鍵精靈識別漸變色或半透明的文字?

遊戲中的文字如果是單色字,利用大漠工具做一個字庫來找字,可以很容易的識別到。但是,如果這個字是漸變色的呢?或者說是有些透明的字體,字體顏色會隨著背景色進行輕微變化的?

工具/原料

按鍵精靈2014

方法/步驟

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

上圖中的465的字樣就是漸變顏色

我們一起來了解下,大漠工具是如何通過偏色來找漸變色文字的。

首先,我們瞭解下大漠找字的大致步驟:

1、抓取文字圖片,抓取文字裡的一個顏色點,設置偏色(如果是單色字則不需設置偏色)

2、偏色設置好之後,我們得到了清晰的二值化文字,這時候提取文字點陣,做成字庫。

3、加載字庫,開始找字。

然後,我們瞭解下大漠工具要如何使用:

大漠工具的使用

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

1、點擊抓圖,抓取我們需要的文字圖片。

2、設置文字顏色和偏色。

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

*RGB顏色值是由R(紅)、G(綠)、B(藍)三種顏色組成的。每種顏色由2位十六進制值來表示。

例如:“FFFFFF” 白色,FF(紅) FF(綠) FF (藍),換算成十進制就是: 255,255,255 當RGB三種顏色都是最大值255的時候,就是白色。

*偏色就是設置一個顏色的容差範圍,偏色的顏色值是由R(紅)、G(綠)、B(藍)三種顏色組成的。每種顏色由2位十六進制值來表示。

例如,我想找一個顏色,想找與它相近的顏色,顏色容差範圍30個顏色值

首先,我們要把容差範圍值轉換為十六進制的。

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

30的十六進制是1e,那我們偏色值就填寫 “1e1e1e”,RGB三種顏色各偏色1e

怎樣才能知道它的偏色值是多少呢?

例如:我們獲取的文字圖片裡,最淡的顏色點A的值是1,最深的顏色點B的值是10,我們當前抓取了一個顏色點C的值是2,那我們就要在文字圖片裡找比點c深的值,直到找到文字圖片裡最深的那個顏色點B,點B與點c的差值就是點c的偏色。

這樣找好麻煩有沒有,找到猴年馬月啊~~

所以,我們要善用工具,這裡介紹一款十分好用的偏色計算器工具——大漠偏色計算器。 剛剛好和大漠工具配成一套使用。

拓展知識:為什麼說配成一套使用的時候,小編用了竊喜的語氣呢? 是這樣的,並不是所有的偏色計算工具都是RGB格式的,例如大兵的偏色計算工具就是BGR的,如果是BGR格式獲取到的偏色:041e06, 我們要把R和B的位置調換變成RGB格式,就是:061e04,雖然只是調換個位置,但是有的時候忘記了就麻煩了。

大漠偏色計算器的使用

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

1、我們把抓到的圖打開,點擊文字取一個顏色點

2、點擊“根據顏色列表第一個和RGB顏色偏差添加顏色到顏色列表”,點擊之後大漠偏色計算器會把顏色相差的點都列出來。

3、點擊“計算最佳偏色並複製” ,點擊之後大漠偏色計算器會找出顏色列表中最深的顏色,並且和第一個我們獲取到的點進行差值計算。

4、點擊“生成色彩範圍並複製到剪貼板”,會獲取到偏色信息:A6691A-474D12

注意:獲取到的偏色,我們可以適當的加大一點點,防止個別電腦顏色顯示差異導致無法識別到。

生成字庫:

首先,我們把用大漠偏色計算器獲取到的值先填到大漠工具裡,A6691A-474D12,RGB=A6691A 偏色=474D12

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

然後,我們開始做字庫:

1、抓取點陣。

2、輸入定義文字。(這裡的定義文字可以隨意設置,例如,剛剛例子裡提取的465點陣,我們可以命名為678,這個是不影響的,這裡的定義文字只是為了區分字庫裡的點陣。)

3、回車,把點陣加入到字庫裡。

字庫添加完成。

字庫做好之後,我們把字庫文件放到方便調用的地方,如果製作出的腳本是要提供給其他人使用,請把字庫文件添加到按鍵精靈附件中。

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

偏色找到了,字庫也做好了,我們現在來實現下找字,找到之後點擊它。

代碼:

Call register()

PutAttachment "G:\test", "dm_soft.txt" //釋放字庫文件到G:\test文件夾裡

dm_ret = dm.SetDict(0, "G:\test\dm_soft.txt") //\加載字庫文件

dm_ret = dm.FindStr(0,0,2000,2000,"465","A6691A-474D12",1.0,intX,intY) //找字 。 參數裡的"465",填寫大漠綜合工具中做字庫時的 定義文字的內容

If intX >= 0 and intY >= 0 Then

MessageBox "找到了,位置:"&intX&","&intY

End If

Sub register() //註冊大漠

Set ws = createobject("Wscript.Shell")

ws.run "regsvr32 atl.dll /s"

Set ws = nothing

PutAttachment "G:\test", "dm.dll"

PutAttachment ".\Plugin" ,"RegDll.dll"

call Plugin.RegDll.Reg ( "G:\test\dm.dll")

Set dm = createobject("dm.dmsoft")

ver = dm.ver()

If len(ver) = 0 Then

MessageBox "插件註冊失敗,檢查系統是否禁用了vbs腳本權限"

EndScript

End If

End Sub

運行結果:

遊戲輔助:用按鍵精靈識別漸變色或半透明的文字

略帶透明的字體,設置偏色的方式也是和漸變色一樣的。如果字體的透明度比較高,偏色無法設置的,建議可以找找遊戲上其他特徵,例如,字的位置是不是變化的,字的附近有沒有其它的固定的東西。可以藉助這些特徵去找字。

文字, 按鍵精靈, 半透明, 漸變色,
相關問題答案