基本上,我想从ttf字体获取bezier控制点,然后绘制它们。我基本上想知道两件事。

  • 它返回点数组还是更复杂?
  • 如何从另一个ex分辨出1个轮廓的点:具有2个轮廓的字母O?

  • 谢谢

    最佳答案

    找到了:

    指定GGO_NATIVE时,由GetGlyphOutline返回的本机缓冲区是一个字形轮廓。字形轮廓作为由TTPOLYGONHEADER结构定义的一系列一个或多个轮廓后跟一个或多个曲线而返回。轮廓中的每个曲线均由TTPOLYCURVE结构定义,后跟多个POINTFX数据点。 POINTFX点是绝对位置,不是相对移动。轮廓的起点由 TTPOLYGONHEADER结构的pfxStart成员给出。每条曲线的起点是上一条曲线的终点或轮廓的起点。曲线中数据点的计数存储在TTPOLYCURVE结构的cpfx成员中。缓冲区中每个轮廓的大小(以字节为单位)存储在TTPOLYGONHEADER结构的cb成员中。附加的曲线定义将在前面的曲线之后填充到缓冲区中,并且附加的轮廓将在前面的轮廓之后填充到缓冲区中。缓冲区包含与GetGlyphOutline返回的缓冲区中适合的轮廓一样多的轮廓。

    09-08 00:37