vb实现汉字点阵字模的提取

vb实现汉字点阵字模的提取

ID:8958639

大小:26.50 KB

页数:2页

时间:2018-04-13

vb实现汉字点阵字模的提取_第1页
vb实现汉字点阵字模的提取_第2页
资源描述:

《vb实现汉字点阵字模的提取》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、vb实现汉字点阵字模的提取对于HZK16字库里的16×16汉字(其实只用到了16×15,即16行15列,最后1列是空白的,但是作为GBK汉字,则使用了最后这一列)来说一共需要256个点来显示一个普通的汉字,那么共需要32个字节才能达到该目的。首先,一个GB2312汉字是由两个字节编码的,范围为A1A1~FEFE。A1-A9为符号区,B0到F7为汉字区。每一个区有94个字符(当然,这只是编码的许可范围,而不是这些编码都对应有字型,比如符号区就有很多编码空白区域)。所以,当接受到了一个汉字编码譬如“鹿”字,如何在HZK16文件中找到它对应的32个字节的字模数据呢。计算方法如下:C2

2、H-A1H=21H(33D区,因为汉字编码是从A1区开始的,所以文件最前面就是从A1区开始)B9H-A1H=18H(24D位,道理如上所述,这就是所谓的区位码)21H×5EH+18H=C36H(5EH就是94D,代表一个区有94个字符,C36H就是说这个字符在HZK16里是第C36H个)C36H×20H=186C0H(20H就是32D,代表一个字符占32个字节,这里得到的186C0H就是“鹿”字在HZK16文件中的偏移地址,从这里开始之后的32个字节就是我们要寻找的字符字模) Dimzw(1To128)AsBytePrivateSubCommand1_Click()IfLen(

3、Text1.Text)<>4ThenMsgBox"输入汉字不足四个!"Text1.Text=""ElseDimffAsStringff=CALL_LED(Text1.Text)ForI=1To128Step1'If(Imod8)=0ThenText2.Text=Text2.Text&"0"'EndIfText2.Text=Text2.Text&Hex(zw(I))&"H"NextIEndIfEndSubPrivateFunctionCALL_LED(ledstringAsString)Forj=1To4AA=Hex(Asc(Mid(ledstring,j,1)))bb=(94*

4、(CLng("&H"&Mid(AA,1,2))-&HA1)+(CLng("&H"&Mid(AA,3,2))-&HA1))*32ForI=1To32Step1Open"C:DocumentsandSettingsAdministrator桌面点阵HZK16"ForBinaryAs#1Get#1,bb+I,zw(32*(j-1)+I)Close#1NextINextjEndFunctionPrivateSubCommand2_Click()EndEndSubPrivateSubForm_Load()Text1.Text=""Text2.Text=""EndSub

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。