- 締切済み
文字の色
OpenGLによる文字の描画を行っています。 以下のソースで文字の表示・フォントの変更はできたのですが、 文字の色の変更ができません。 どなたかお分かりになる方御願い致します。 ------------------------------ draw_text(L"あいうえお"); void draw_text(const wchar_t *s) { SelectObject(hcdc, hbm); HFONT hFont; HGDIOBJ hFontOld; hFont = CreateFont( 50, // フォント高さ 0, // 文字幅 0, // テキストの角度 0, // ベースラインとx軸との角度 FW_BOLD, // フォントの重さ(太さ) FALSE, // イタリック体 FALSE, // アンダーライン FALSE, // 打ち消し線 SHIFTJIS_CHARSET, // 文字セット OUT_DEFAULT_PRECIS, // 出力精度 CLIP_DEFAULT_PRECIS, // クリッピング精度 PROOF_QUALITY, // 出力品質 FIXED_PITCH | FF_MODERN, // ピッチとファミリー (LPCTSTR)"MS ゴシック"); // 書体名 SetTextColor(hcdc, RGB(255,0,0)); hFontOld = SelectObject(hcdc, hFont); while(*s != L'\0'){ int w; GCP_RESULTSW gr = {sizeof(GCP_RESULTSW)}; gr.nGlyphs = 1; gr.nMaxFit = 1; w = GetCharacterPlacementW( hcdc, // デバイスコンテキストのハンドル s, // 文字列へのポインタ 1, // 文字列内の文字数 1000, // 表示された文字列に対する最大範囲 &gr, // 配置結果に対するバッファへのポインタ 0); // 配置フラグ w &= 0xffff; { ExtTextOutW( hcdc, // デバイスコンテキストのハンドル 0, // 開始位置(基準点)の x 座標 0, // 開始位置(基準点)の y 座標 ETO_OPAQUE, // 長方形領域の使い方のオプション NULL, // 長方形領域の入った構造体へのポインタ s, // 文字列 1, // 文字数 NULL); // 文字間隔の入った配列 glBitmap( 96, // ビットマップの幅 96, // ビットマップの高さ(ピクセル単位) -128, // ビットマップイメージの原点の位置(x軸) 140, // ビットマップイメージの原点の位置(y軸) w, // オフセット値(x軸) 0, // オフセット値(y軸) (const GLubyte *)chbuf); // 画像データ } s++; } SelectObject(hcdc,hFontOld); }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- qwertfk
- ベストアンサー率67% (55/81)
glColor3d(1,0,0); draw_text(L"あいうえお"); で変わらないでしょうか。