次の方法で共有


wglUseFontBitmapsW 関数 (wingdi.h)

wglUseFontBitmaps 関数は、現在の OpenGL レンダリング コンテキストで使用するビットマップ表示リストのセットを作成します。 ビットマップ表示リストのセットは、デバイス コンテキストで現在選択されているフォントのグリフに基づいています。 その後、ビットマップを使用して OpenGL イメージに文字を描画できます。

wglUseFontBitmaps 関数は、カウント 表示リストを作成します。これは、hdc パラメーターの選択したフォントの最初のグリフで始まる カウント グリフの実行ごとに 1 つずつ作成されます。

構文

BOOL wglUseFontBitmapsW(
  HDC   unnamedParam1,
  DWORD unnamedParam2,
  DWORD unnamedParam3,
  DWORD unnamedParam4
);

パラメーター

unnamedParam1

現在選択されているフォントが、現在の OpenGL レンダリング コンテキストでグリフ ビットマップ表示リストの形成に使用されるデバイス コンテキストを指定します。

unnamedParam2

グリフビットマップ表示リストの形成に使用されるグリフの実行における最初のグリフを指定します。

unnamedParam3

グリフビットマップ表示リストの形成に使用されるグリフの実行におけるグリフの数を指定します。 この関数は、実行 グリフごとに 1 つずつ、表示リスト カウントを作成します。

unnamedParam4

開始表示リストを指定します。

戻り値

関数が成功した場合、戻り値は TRUE

関数が失敗した場合、戻り値は FALSE。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

wglUseFontBitmaps 関数は、現在の OpenGL レンダリング コンテキスト 表示リスト カウントを定義します。 各表示リストには、listBaseから始まる識別番号 示されます。 各表示リストは、glBitmapする 1 回の呼び出しで構成されます。 ビットマップ listBasei の定義は、hdcで指定されているデバイス コンテキストで現在選択されているフォントの最初のi グリフ 取得されます。 グリフが定義されていない場合、関数は空の表示リストを定義します。

wglUseFontBitmaps 関数は、画面の平面にビットマップ テキストを作成します。 OpenGL でオブジェクトのラベル付けを有効にします。

Microsoft の OpenGL 実装の現在のバージョンでは、ダブルバッファーピクセル形式のデバイス コンテキストに対して GDI 呼び出しを行うことはできません。 そのため、このようなデバイス コンテキストで GDI フォントとテキスト関数を使用することはできません。 wglUseFontBitmaps 関数を使用すると、この制限を回避し、ダブルバッファリングされたデバイス コンテキストでテキストを描画できます。

この関数は、次のように glBitmap を する各呼び出しのパラメーターを決定します。

glBitmap パラメーター 意味
幅 を する グリフの GLYPHMETRICS 構造体のメンバー gmBlackBoxX で返されるグリフのビットマップの幅。
の高さ グリフの GLYPHMETRICS 構造体のメンバー gmBlackBoxY で返されるグリフのビットマップの高さ。
xorig を する グリフの GLYPHMETRICS 構造体の gmptGlyphOrigin.x メンバーで返されるグリフの原点の x オフセット。
yorig グリフの GLYPHMETRICS 構造体の gmptGlyphOrigin.y メンバーで返されるグリフの原点の y オフセット。
xmove グリフの GLYPHMETRICS 構造体の gmCellIncX メンバーで返される、次の文字セルの原点までの水平方向の距離。
ymove グリフの GLYPHMETRICS 構造体の gmCellIncY メンバーで返される、次の文字セルの原点までの垂直方向の距離。
ビットマップ の uFormat 1 の GetGlyphOutline によって返されるグリフのビットマップ。
 

次のコード例は、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 プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして wglUseFontBitmaps を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wingdi.h
ライブラリ Opengl32.lib
DLL Opengl32.dll

関連項目

GLYPHMETRICS を する

GetGlyphOutline を する

Windows で OpenGL を する

WGL 関数 の

glBitmap を する

glCallLists を する

glListBase を する

wglUseFontOutlines