CDC::GetGlyphOutline
現在のフォントのアウトライン文字についてのアウトライン曲線またはビットマップを取得します。
DWORD GetGlyphOutline(
UINT nChar,
UINT nFormat,
LPGLYPHMETRICS lpgm,
DWORD cbBuffer,
LPVOID lpBuffer,
const MAT2* lpmat2
) const;
パラメーター
nChar
情報を返す文字を指定します。nFormat
関数が情報を返すことの形式を指定します。 次の値の 1 時、または 0 時です:値
説明
GGO_BITMAP
グリフのビットマップを返します。 この関数が返されるとき、lpBuffer が指すバッファーは行がダブル ワード境界から開始するピクセルあたり 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 または正の値です。
解説
アプリケーションは lpmat2が指す構造体に変換する 2 × 2 行列を指定することで、ビットマップ形式で取得した文字を変換できます。
グリフのアウトラインは、一連の輪郭として返されます。 各割り当て型は同様に TTPOLYCURVE の多くの構造に続く TTPOLYGONHEADER の構造でそれを説明するために必要な定義されます。 すべての点は POINTFX の構造体として戻り、絶対位置または相対的ではない移動ではなくを表します。 TTPOLYGONHEADER の構造体のメンバーを使用 pfxStart の開始点は輪郭のアウトラインの開始点です。 次 TTPOLYCURVE の構造は、いずれかのポリラインのレコード、またはレコードにスプラインを付けることができます。 ポリラインのレコードは、一連のポイント。; ポイントの間に描画される線は、文字のアウトラインを記述します。 スプラインのレコードは、TrueType (つまり、セカンダリ 12 B スプライン) で使用される 2 次ベジエ曲線を表します。
必要条件
ヘッダー: afxwin.h