CDC::GetGlyphOutline

检索概述曲线或位图概述字符的当前字体。

DWORD GetGlyphOutline(
   UINT nChar,
   UINT nFormat,
   LPGLYPHMETRICS lpgm,
   DWORD cbBuffer,
   LPVOID lpBuffer,
   const MAT2* lpmat2
) const;

参数

  • nChar
    指定信息将返回的字符。

  • nFormat
    指定函数将返回信息的格式。它可以是下列值之一: 0

    含义

    GGO_BITMAP

    返回标志符号位图。当函数返回时,缓冲区指向由 lpBuffer 包含行在双字边界开始的1位/像素位图。

    GGO_NATIVE

    使用组件的度量单位,返回曲线数据点。光栅器本机格式。当该值指定时,在 lpmat2 指定的所有变换被忽略。

    当 nFormat 的值为0时,函数填充一 GLYPHMETRICS 结构,但不返回标志符号轮廓数据。

  • lpgm
    指向 GLYPHMETRICS 在字符格描述标志符号位置的结构。

  • cbBuffer
    指定函数复制有关概述字符的消息缓冲区的大小。如果此值为0,并 nFormat 参数是 GGO_BITMAPGGO_NATIVE 值,则函数返回缓冲区所需的大小。

  • lpBuffer
    指向函数复制有关概述字符的信息的缓冲区。如果 nFormat 指定 GGO_NATIVE 值,其中 TTPOLYGONHEADERTTPOLYCURVE 结构形式,信息复制。如果此值为 NULL,并 nFormat 是 GGO_BITMAPGGO_NATIVE 值,则函数返回缓冲区所需的大小。

  • lpmat2
    指向 MAT2 包含字符的一个变换矩阵的结构。即使 GGO_NATIVE 值为 nFormat,指定此参数不能是 NULL

返回值

范围中,字节对于检索的信息,请 cbBuffer 为0或 lpBuffer,需要使用缓冲区是 NULL。否则,它是一个正值,如果函数运行成功,或者– 1,则出现错误。

备注

应用程序可以旋转以位图格式检索来指定2 x 2变换矩阵中的。lpmat2点的数据结构。

标志符号轮廓返回作为一系列轮廓线。每个轮廓线由许多 TTPOLYCURVE 结构后面的 TTPOLYGONHEADER 结构定义的要求描述该用例。所有点的形式返回 POINTFX 结构并表示绝对位置,不相对于移动。起点为由 TTPOLYGONHEADER 结构的 pfxStart 成员是轮廓线的轮廓开始的位置。下面的 TTPOLYCURVE 结构可以是一条记录或样条记录。一条记录一系列点;行绘制在点之间描述字符的轮廓。样条记录表示TrueType使用的二次贝塞尔样条曲线(即b)。

要求

Header: afxwin.h

请参见

参考

CDC 类

层次结构图

CDC::GetOutlineTextMetrics

GetGlyphOutline

GLYPHMETRICS

TTPOLYGONHEADER

TTPOLYCURVE