|
字符画软件的四个关键技术(1)
字符画软件的四个关键技术 第一个关键技术:汉字库读取技术 使用汉字库技术可以做到和操作系统无关性,我们先了解一下点阵字库的基本原理 如下所示,下面是一个“字”的点阵图,在16点阵字库中一个汉字为16x16点,每一行使用两个字节表示,如下面示例第一行的十六进制为:0x02和0x00,所以,一个汉字在16点阵字库中需要占用2x16个字节,24点阵字库需要3x24个字节,下面我们仅以16点阵字库为例,其他点阵类似。 ███████████████ ███████████████ ████ ██████████████ ██████████████ ████████ ███████████████ ███████████████ ██████████████ █ ███████████████ ███████████████ ███████████████ ███████████████ ██████████████ ███████████████ 下面的函数返回指定字符串的字符画文本 function Get16(const AWord,AForeground,ABackground:string):string; function GetBit(const c,n:byte):integer; begin result:=(c shr n) and 1; end; var iLen :integer; iFileSize :integer; s :string; k,l,i,p :integer; cw:array[0..31] of char; qu_ma,wei_ma:integer; File16 :file; begin iLen:=length(AWord); AssignFile(File16,piProgramInfo.Path+'HZK16'); FileMode := fmOpenRead; try Reset(File16,1); finally FileMode:=fmOpenReadWrite; end; iFileSize:=FileSize(File16);
|