共用方式為


CDC::GetGlyphOutline

擷取外框曲線或點陣圖中字元的以目前的字型。

DWORD GetGlyphOutline( 
   UINT nChar, 
   UINT nFormat, 
   LPGLYPHMETRICS lpgm, 
   DWORD cbBuffer, 
   LPVOID lpBuffer, 
   const MAT2* lpmat2 
) const;

參數

  • nChar
    所要傳回的字元。

  • nFormat
    指定函式傳回資訊的格式。 它可以是下列其中一個值或 0:

    意義

    GGO_BITMAP

    傳回圖像點陣圖。 當函式返回時,緩衝區會所指向的 lpBuffer 包含對 Doubleword 的界限開始的每像素 1 位元點陣圖。

    GGO_NATIVE

    使用單位,傳回在光柵掃描處理器的原生格式的曲線資料點。 當這個值指定時,在 lpmat2 指定的所有轉換會被忽略。

    當 nFormat 的值為 0 時,函式填入 GLYPHMETRICS 結構,但不會傳回圖像外框資料。

  • lpgm
    在字元儲存格描述影像的位置 GLYPHMETRICS 結構的點。

  • cbBuffer
    指定函式複製相關資訊的描邊字元緩衝區的大小。 如果這個值為 0,而 nFormat 參數是 GGO_BITMAPGGO_NATIVE 值,函式會傳回緩衝區的大小。

  • lpBuffer
    對函式複製相關資訊的描邊字元緩衝區中的點。 如果 nFormat 指定 GGO_NATIVE 值,以 TTPOLYGONHEADERTTPOLYCURVE 結構的格式,將資訊複製。 如果這個值是 NULL ,並 nFormat 是 GGO_BITMAPGGO_NATIVE 值,函式會傳回緩衝區的大小。

  • lpmat2
    MAT2 的點結構包含的轉換矩陣。 即使 GGO_NATIVE 值為 nFormat,指定這個參數不可以是 NULL

傳回值

大小,以位元組表示針對擷取的資訊,如果 cbBuffer 為 0 或 lpBuffer 是必要的,緩衝區是 NULL。 否則,它就是正數值,如果函式成功,則為– 1,如果有錯誤則為。

備註

應用程式可以微調以點陣圖格式擷取的字元會指定 2 x 2 的轉換矩陣會在結構所指向的 lpmat2。

圖像外框傳回為一系列的輪廓。 每個輪廓是由許多 TTPOLYCURVE 結構遵循的 TTPOLYGONHEADER 結構定義的需求描述其。 所有的點會做為 POINTFX 結構且表示絕對位置,而非相對於移動。 TTPOLYGONHEADER 結構的成員 pfxStart 測量的起點就輪廓外框開始的點。 下面的 TTPOLYCURVE 結構可以是折線記錄或曲線記錄。 折線資料錄是一系列的點,繪製行以點之間描述字元的外框。 曲線記錄代表 TrueType 使用的二次曲線 (亦即 b 二次方貝茲曲線)。

需求

Header: afxwin.h

請參閱

參考

CDC 類別

階層架構圖表

CDC::GetOutlineTextMetrics

GetGlyphOutline

GLYPHMETRICS

TTPOLYGONHEADER

TTPOLYCURVE