|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
做個漢字庫的點陣任意重新排序程序,以適合各種LCM |
| 作者:汽車電子 欄目:單片機 |
很多時候,漢字庫的字模點陣排列與LCM的點陣排列并不一一對應(yīng),需要重新排序點陣字模才能顯示漢字。這往往要做個轉(zhuǎn)換子程序進行點陣字模的排序轉(zhuǎn)換。 在嵌入式系統(tǒng)中,如果一個240*128的LCM,顯示整屏漢字需3840個字節(jié),如果每個字節(jié)都進行一次點陣字模重新排序,要時行3840次轉(zhuǎn)換,非常浪費機時。 現(xiàn)有的,能在網(wǎng)上搜索的字模程序,都沒有任意排序的功能。 由此想到,把整個國標字庫重新排序之后,再固化到嵌入式中,這樣就不用再寫點陣字模重新排序的子程序了,更大好處是:不用每個字都轉(zhuǎn)換,節(jié)省機時。 各位有何高見?請賜教! * - 本貼最后修改時間:2005-12-17 18:58:46 修改者:汽車電子 |
| 2樓: | >>參與討論 |
| 作者: lxb_gd 于 2005/12/17 13:43:00 發(fā)布:
me what is problom? |
|
| 3樓: | >>參與討論 |
| 作者: 汽車電子 于 2005/12/17 16:29:00 發(fā)布:
有什么比較好的算法呢? * - 本貼最后修改時間:2005-12-17 19:19:07 修改者:汽車電子 |
|
| 4樓: | >>參與討論 |
| 作者: dengm 于 2005/12/17 20:03:00 發(fā)布:
花1個小時用VB寫一個就是了 把輸出的格式要求貼出來,我給寫一個 * - 本貼最后修改時間:2005-12-17 20:06:10 修改者:dengm |
|
| 5樓: | >>參與討論 |
| 作者: 汽車電子 于 2005/12/17 21:50:00 發(fā)布:
dengm,非常感謝! 連續(xù)輸入的32字節(jié)的256個Bit在LCM的顯示位置如下圖所示 ![]() |
|
| 6樓: | >>參與討論 |
| 作者: guorock 于 2005/12/17 23:35:00 發(fā)布:
樓主,這個其實很簡單的! 就是行列的變換嗎! 漢字字庫256K,但標準的是按行進行掃描的,從左到右。 用VC編寫個程序就能搞定的,然后將此字庫燒進外部256K FLASH,用的時候調(diào)用即可! |
|
| 7樓: | >>參與討論 |
| 作者: hotpower 于 2005/12/17 23:43:00 發(fā)布:
只能自己編轉(zhuǎn)換程序了,這個不暈人的 |
|
| 8樓: | >>參與討論 |
| 作者: xwj 于 2005/12/18 3:51:00 發(fā)布:
根本不用這么麻煩啊,現(xiàn)在很多字模軟件都能轉(zhuǎn)換的 比如HZDotReader、ZimoIII等,不過要輸出全字庫的話大多要注冊 找個橫向字庫文件也行 |
|
| 9樓: | >>參與討論 |
| 作者: 汽車電子 于 2005/12/18 7:30:00 發(fā)布:
謝謝各位。昨晚已經(jīng)做好了,不過只是對某型號的LCM 要任意點陣轉(zhuǎn)換的的程序,以后再說吧(網(wǎng)上找的不能任意,只能按一定規(guī)律) 即是任意轉(zhuǎn)換,那就沒規(guī)律了,每個漢字的字模轉(zhuǎn)換要進行256次操作(暫且為16*16),不過這交給PC來轉(zhuǎn)換,執(zhí)行時間稍長些也沒所謂了。 * - 本貼最后修改時間:2005-12-18 7:48:11 修改者:汽車電子 |
|
| 10樓: | >>參與討論 |
| 作者: dengm 于 2005/12/18 11:01:00 發(fā)布:
VB6 16*16 字庫生成軟件源代碼。剛好用了一個小時 REM ******DENG M. **** 2005-12-18 GuangZhou ***** rem GB2312-80 16 * 16 宋體 rem 建立Command控件:Command1 REM ===========================>>>> C:\HZK16.BIN Private Sub Form_Load() Me.Width = 8000 Me.Height = 6000 Me.FontName = "宋體" '** 可用其他windows字體 Me.ScaleMode = 3 Me.FontSize = 100 Me.FontSize = 1600! / Me.TextWidth("啊") '1600=16*100 With Command1 .Move 100, 100, 300, 50 .Caption = "GB2312-80(16*16) 到 C:\HZK16.BIN" Me.Caption = .Caption End With End Sub Private Sub Command1_Click() Dim C$, I%, J%, BK&, II%, JJ%, IP%, B(31) As Byte, K%, Q%, W% C$ = "C:\HZK16.BIN" Open C$ For OUTPUT As #1 CLOSE #1 Open C$ For Binary As #1 For Q = 1 To 9 For W = 1 To 94 GoSub OUT2FILE Next W Next Q For Q = 16 To 87 For W = 1 To 94 GoSub OUT2FILE Next W Next Q CLOSE #1 Exit Sub OUT2FILE: Me.Cls BK = Me.Point(10, 10) Me.CurrentX = 10 Me.CurrentY = 10 C$ = Chr((&HA0A0& + Q * 256 + W) And &HFFFF) Me.Print C$; IP = 0 For JJ = 25 To 17 Step -8 For I = 10 To 25 K = 0 For J = JJ To JJ - 7 Step -1 K = IIF(Me.Point(I, J) <> BK, K = K + K + 1, K = K + K) Next J B(IP) = K IP = IP + 1 Next I Next JJ Put #1, , B DoEvents Return End Sub * - 本貼最后修改時間:2005-12-18 11:19:36 修改者:dengm |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |