wglUseFontBitmapsW 函式 (wingdi.h)
wglUseFontBitmaps 函式會建立一組位圖顯示清單,以用於目前的 OpenGL 轉譯內容。 位圖顯示清單集是以裝置內容中目前選取字型中的字元為基礎。 然後,您可以使用位陣圖在 OpenGL 影像中繪製字元。
wglUseFontBitmaps 函式會建立 計數 顯示清單,每一次執行 計數 字元,其開頭為 hdc hdc 參數選取字型中的第一個字元。
語法
BOOL wglUseFontBitmapsW(
HDC unnamedParam1,
DWORD unnamedParam2,
DWORD unnamedParam3,
DWORD unnamedParam4
);
參數
unnamedParam1
指定目前選取字型將用來在目前 OpenGL 轉譯內容中形成字元點圖顯示清單的裝置內容。
unnamedParam2
指定字元執行中的第一個圖像,該圖像將用來形成圖像點圖顯示清單。
unnamedParam3
指定字元執行中將用來形成圖像點圖顯示清單的字元數目。 函式會建立 計數 顯示清單,其中一個用於執行中的每個字元。
unnamedParam4
指定開始顯示清單。
傳回值
如果函式成功,則傳回值 TRUE。
如果函式失敗,則傳回值 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
言論
wglUseFontBitmaps 函式會在目前的 OpenGL 轉譯內容中定義 計數 顯示清單。 每個顯示清單都有一個識別編號,從 listBase開始。 每個顯示清單都包含單一呼叫 glBitmap。 位圖
wglUseFontBitmaps 函式會在畫面平面中建立位圖文字。 它會啟用 OpenGL 中對象的標記。
在目前版本的 Microsoft OpenGL 實作中,您無法對具有雙緩衝圖元格式的裝置內容進行 GDI 呼叫。 因此,您無法搭配這類裝置內容使用 GDI 字型和文字功能。 您可以使用 wglUseFontBitmaps 函式來規避這項限制,並在雙緩衝裝置內容中繪製文字。
函式會決定 glBitmap 的每個呼叫參數,如下所示。
glBitmap 參數 | 意義 |
---|---|
寬度 | 圖像點圖的寬度,如 gmBlackBoxX 中傳回的寬度, 字元 GLYPHMETRICS 結構的成員。 |
高度 | 圖像點圖的高度,如圖像 GLYPHMETRICS 結構之 gmBlackBoxY 成員傳回。 |
xorig | 圖像原點的 x 位移,如 glyphGlyphOrigin.x gmptGlyphOrigin.x 字元 GLYPHMETRICS 結構的成員所傳回。 |
yorig | 圖像原點的 y 位移,如圖像 gptGlyphOrigin.y 字元 GLYPHMETRICS 結構的成員所傳回。 |
xmove | 下一個字元儲存格原點的水平距離,如圖像 GLYPHMETRICS 結構 gmCellIncX 成員所傳回。 |
ymove | 字元 GLYPHMETRICS 結構中傳回的 gmCellIncY 成員中傳回的下一個字元儲存格原點的垂直距離。 |
位圖 | 圖像的點陣圖,如 getGlyphOut line |
例子
下列程式代碼範例示範如何使用 wglUseFontBitmaps 來繪製一些文字。
HDC hdc;
HGLRC hglrc;
// create a rendering context
hglrc = wglCreateContext (hdc);
// make it the calling thread's current rendering context
wglMakeCurrent (hdc, hglrc);
// now we can call OpenGL API
// make the system font the device context's selected font
SelectObject (hdc, GetStockObject (SYSTEM_FONT));
// create the bitmap display lists
// we're making images of glyphs 0 thru 254
// the display list numbering starts at 1000, an arbitrary choice
wglUseFontBitmaps (hdc, 0, 255, 1000);
// display a string:
// indicate start of glyph display lists
glListBase (1000);
// now draw the characters in a string
glCallLists (24, GL_UNSIGNED_BYTE, "Hello Windows OpenGL World");
注意
wingdi.h 標頭會根據 UNICODE 預處理器常數的定義,將 wglUseFontBitmaps 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wingdi.h |
連結庫 | Opengl32.lib |
DLL | Opengl32.dll |
另請參閱
在 Windows 上