近日做的程序需要取得字符点阵数据的功能,研究了一下,费了点周折才成功,现将方法总结如下。
取得字符点阵主要用getglyphoutline函数:
dword getglyphoutline
(
uint nchar,
uint nformat,
lpglyphmetrics lpgm,
dword cbbuffer,
lpvoid lpbuffer,
const mat2 far* lpmat2
)
它需要类型为glyphmetrics、mat2的变量;mat2 结构要手动填充, glyphmetrics结构则由getglyphoutline填充;glyphmetrics包含了点阵数据的一些有用的信息:
typedef struct _glyphmetrics {
uint gmblackboxx; //点阵数据轮廓矩形的宽
uint gmblackboxy; //点阵数据轮廓矩形的高