OpenGL) (字体和文本函数

以下函数可用于管理字体和文本。

Windows 函数 说明
wglUseFontBitmaps 创建一组字符位图显示列表。 字符来自指定设备上下文的当前字体。 字符指定为字体字形集中的连续运行。
wglUseFontOutlines 基于设备上下文中当前所选大纲字体的字形创建一组显示列表,以便与当前呈现上下文一起使用。 显示列表用于绘制 TrueType 字体的 3D 字符。

 

wglUseFontBitmapswglUseFontOutlines 函数采用设备上下文的句柄,并将该设备上下文的当前字体用作位图的源。 因此,在调用 wglUseFontBitmapswglUseFontOutlines 之前,必须设置设备上下文的字体和字体属性。

wglUseFontBitmapswglUseFontOutlines 函数还采用将字体中的第一个字形转换为位图显示列表的参数,以及指定要转换为显示列表的字形数的参数。 然后,该函数为指定的连续字形运行创建显示列表。 例如:

  • 若要为所有 Windows 字符集字形创建一组 224 位图显示列表,请将这两个参数分别设置为 32 和 224。
  • 若要为所有 OEM 字符集字形创建一组 256 位图显示列表,请将这两个参数分别设置为 0 和 256。
  • 若要为任何单字符集字形创建单个位图显示列表,请将这些参数中的第二个设置为 1。

wglUseFontBitmapswglUseFontOutlines 函数表示具有空显示列表的字体中的 null 字形。

通过调用 wglUseFontBitmapswglUseFontOutlines 创建的显示列表会自动连续编号。

调用 wglUseFontBitmapswglUseFontOutlines 函数后,调用 glCallLists 以绘制字符串。 有关示例代码 ,请参阅在 Double-Buffered OpenGL 窗口中绘制文本 。 在此上下文中, glCallLists 使用字符串中的每个字符作为 由 wglUseFontBitmaps 或 wglUseFontOutlines 创建的连续编号显示列表数组 索引。

完成绘制文本后,调用 glDeleteLists 函数以释放由 wglUseFontBitmaps 和 wglUseFontOutlines 创建的连续显示列表集。