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_BITMAP 或 GGO_NATIVE 值,函式會傳回緩衝區的大小。lpBuffer
對函式複製相關資訊的描邊字元緩衝區中的點。 如果 nFormat 指定 GGO_NATIVE 值,以 TTPOLYGONHEADER 和 TTPOLYCURVE 結構的格式,將資訊複製。 如果這個值是 NULL ,並 nFormat 是 GGO_BITMAP 或 GGO_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