以下是使用 GetOutlineTextMetrics 方法的简单示例:
CDC dc; // 假设已经创建了设备上下文对象
TEXTMETRIC tm;
dc.GetTextMetrics(&tm); // 获取当前字体的基本文本度量信息
OUTLINETEXTMETRIC otm;
dc.GetOutlineTextMetrics(sizeof(OUTLINETEXTMETRIC), &otm); // 获取轮廓文本度量信息
// 使用获取到的 otm 结构中的信息进行后续处理
在这个示例中,首先调用 GetTextMetrics 方法获取当前字体的基本文本度量信息,然后调用 GetOutlineTextMetrics 方法获取更详细的轮廓文本度量信息。
OUTLINETEXTMETRIC 结构的定义如下:
typedef struct _OUTLINETEXTMETRIC {
UINT otmSize;
TEXTMETRIC otmTextMetrics;
BYTE otmFiller;
PANOSE otmPanoseNumber;
UINT otmfsSelection;
UINT otmfsType;
int otmsCharSlopeRise;
int otmsCharSlopeRun;
int otmItalicAngle;
UINT otmEMSquare;
int otmAscent;
int otmDescent;
UINT otmLineGap;
UINT otmsCapEmHeight;
UINT otmsXHeight;
RECT otmrcFontBox;
int otmMacAscent;
int otmMacDescent;
UINT otmMacLineGap;
UINT otmusMinimumPPEM;
POINT otmptSubscriptSize;
POINT otmptSubscriptOffset;
POINT otmptSuperscriptSize;
POINT otmptSuperscriptOffset;
UINT otmsStrikeoutSize;
int otmsStrikeoutPosition;
int otmsUnderscoreSize;
int otmsUnderscorePosition;
PSTR otmpFamilyName;
PSTR otmpFaceName;
PSTR otmpStyleName;
PSTR otmpFullName;
} OUTLINETEXTMETRIC, *POUTLINETEXTMETRIC;
这个结构包含了各种字体度量的详细信息。你可以根据需要使用这些信息进行后续处理。
转载请注明出处:http://www.zyzy.cn/article/detail/17117/MFC/CDC