C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 21 を表示中)
■8795 / )  アウトライン
□投稿者/ ヤン (1回)-(2007/10/10(Wed) 16:41:17)

分類:[C/C++] 

お世話になります。

GetGlyphOutline関数を使用して、
アウトライン情報を取得し、
取得したパスをつないで文字を描画したいです。

GetGlyphOutlineの使用法は分かったのですが、
取得したアウトライン情報lpBufferを
TTPOLYGONHEADER構造体、
TTPOLYCURVE構造体に分割する方法を教えてください!


    char *str = _T( "あ" );
    UINT u1, u2;
    UINT nChar;
    UINT nFormat;
    LPGLYPHMETRICS lpgm;
    DWORD cbBuffer;
    LPVOID lpBuffer;
    MAT2 lpmat2;
    u1    = *( BYTE* )str;
    u2    = *( BYTE* )( str + 1 );
    nChar = u1 << 8 | u2;

    memset(&lpmat2, 0x00, sizeof(MAT2));
    lpmat2.eM11.value = 1;
    lpmat2.eM22.value = 1;

    // あらかじめ取得しておいたフォントをセット
    SelectObject(&font);


    cbBuffer = pDC->GetGlyphOutline( nChar, GGO_NATIVE, lpgm, 0, NULL, &lpmat2 );
    lpBuffer = (LPBYTE)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cbBuffer);
    cbBuffer = pDC->GetGlyphOutline( nChar, GGO_NATIVE, lpgm, cbBuffer, lpBuffer, &lpmat2 );

返信 編集キー/


管理者用

- Child Tree -