关于汉字点阵的问题?(比较难搞点的)有点难(200分)

  • 主题发起人 主题发起人 waderlym
  • 开始时间 开始时间
W

waderlym

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)]
汉字点阵中只有0,1来表示点阵的空白和实心。这是大家都知道的。
现在,我的问题是把点阵的状态改为3种;00:空白,01:空心,11:实心;
其中00对应0,11对应1,01是汉字笔画周围的空心勾边。也就是说把1个位变成2个位来表示
4种状态(只用3种);
请大大给我点帮助:
1。delphi如何读取2进制点阵,任意点阵的表示方法和制作方法。
2。如何对转化成数组的点阵进行勾边算法。勾出所有笔画的边界。边界用01表示。
3。转换后的字体点阵文件是原来的2倍,问题是如何进行转换。
请给出参考程序,数据算法和相关知识。
 
我觉得不要去改变汉字库,你要显示空心的话,通过判断1,并将附近的0置1,显示的时候处理
 
请做过汉字点阵信息和汉字数据库的给我点帮助,不只是针对16*16,32*32,24*24~
我做的是对任意R*C(R,C正整数)的点阵字库转换。我对字体转为点阵和点阵的原理搞的一塌糊涂,对勾边,却确的说是对线段周边闭合包围的算法2塌糊涂~~~~~
who can help me?Please![:(]
 
who can ? 3塌糊涂 分不够开口就是还有150分可用。[:(]4塌~~~~`
 
好象是做矢量字库。
 
我也想做一个汉字点阵制造软件,但是却无从下手。希望能一起交流,我的QQ。175287606
 
做点阵字库技术上不难,但关键是你让谁给你一个字一个字的点?
 
读取点阵字库文件然后把它表示出来,点阵的顺序是从左到右,从上到下。N*M点阵,每次读取N/8个字节组成一个点阵的行,主要是不晓得怎么操作。
 
思路不对。每bit只有两个状态:0和1。你想用两个bit代表一个bit(对应屏幕上一个点)。那么当这个点为01时,你是想画一个空心的点还是说整个字是空心的呢?如果说你想整个字为空心,为什么要用每个点的状态来确定呢?先把思路搞清楚吧。
不要改变现在字库,空心字是在现有字库的基础上,显示时通过算法实现的。
 
如果单单是对应屏幕上的点还好办,但是要放大到人的眼睛能看能一箭双雕就不好办了.一般要放大8倍或者16倍.比如点击一个8*8的格子,让它填充,但这个格子对应的是一个汉字的一个点.
 
点阵字库就是0、1

空心字是矢量字库。你把空心字想得太简单了,他并不是用点阵字+算法搞出来的,因为涉及到字体放大时候的变形问题。

空心字必须用矢量来描述。
 
我给你发到邮箱了,这样的问题还不如直接问我呵呵。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
941
DelphiTeacher的专栏
D
S
回复
0
查看
927
SUNSTONE的Delphi笔记
S
D
回复
0
查看
895
DelphiTeacher的专栏
D
D
回复
0
查看
866
DelphiTeacher的专栏
D
后退
顶部