VB6&GDI+实现精准中英字符测绘,可自定义行距字距。本人写的试验代码,有大量BUG。测绘之中有少许的浮点误差——这是字体设计单位浮点计算造成的,不可避免.
因为代码中很少注释,我在这里说一下关键:重点是GDI+的DrawDriverString的功能,每个字符需要一个POINTF来定位,该POINTF的原点0,0不是左上角,而是左下角,X=字符左边界,Y(当为0时,实际值为字符行距,需要除以字符设计单位emheight再乘以字体emsize(字体大小,比如10磅)。
字符宽度可以用MeasureDriverString测出,很简单。
2024-10-22 08:59:08
206KB
GDI+
1