CDC::GetGlyphOutline
Ruft die Konturenkurve oder -Bitmap für ein Konturenzeichen in der aktuellen Schriftart ab.
DWORD GetGlyphOutline(
UINT nChar,
UINT nFormat,
LPGLYPHMETRICS lpgm,
DWORD cbBuffer,
LPVOID lpBuffer,
const MAT2* lpmat2
) const;
Parameter
nChar
Gibt das Zeichen an, für die Informationen zurückgegeben werden sollen.nFormat
Gibt das Format an, in dem die Funktion zur Rückmeldung ist. Sie kann einer der folgenden Werte oder 0 sein:Wert
Bedeutung
GGO_BITMAP
Gibt die Symbolbitmap zurück. Wenn die Funktion zurückgibt, enthält der Puffer, der auf durch lpBuffer gezeigt wird, ein 1 Bitmapdatei Bit pro Pixel, dessen Zeilen auf Doppelwortgrenzen starten.
GGO_NATIVE
Gibt die Kurvendatenpunkte im systemeigenen Format der Rastererstellung, mit der Geräteeinheiten zurück. Wenn dieser Wert angegeben, wird jede Transformation, die in lpmat2 angegeben ist, ignoriert.
Wenn der Wert von nFormat 0 ist, füllt die Funktion aus, eine GLYPHMETRICS-Struktur gibt jedoch nicht SymbolKonturen Daten zurück.
lpgm
Zeigt auf eine GLYPHMETRICS-Struktur, die die Platzierung des Symbols in der Zeichenzelle beschreibt.cbBuffer
Gibt die Größe des Puffers an, in den die Funktion Informationen zum Konturenzeichen kopiert. Wenn dieser Wert 0 und der nFormat-Parameter entweder die GGO_BITMAP oder GGO_NATIVE-Werte ist, gibt die Funktion die erforderliche Puffergröße zurück.lpBuffer
Zeigt auf einen Puffer, in den die Funktion Informationen zum Konturenzeichen kopiert. Wenn nFormat den GGO_NATIVE-Wert angibt, werden die Informationen in Form von TTPOLYGONHEADER und TTPOLYCURVE-Strukturen kopiert. Wenn dieser Wert NULL ist und nFormat entweder GGO_BITMAP oder GGO_NATIVE-Wert ist, gibt die Funktion die erforderliche Puffergröße zurück.lpmat2
Zeigt auf eine MAT2-Struktur, die eine Transformationsmatrix für das Zeichen enthält. Dieser Parameter kann nicht NULL sein, wenn der GGO_NATIVE-Wert für nFormat angegeben wird.
Rückgabewert
Die Größe, in Bytes, des Puffers, der zu der abgerufenen Informationen benötigt wird, wenn cbBuffer 0 ist oder lpBuffer ist NULL. Andernfalls ist es ein positiver Wert, wenn die Funktion erfolgreich, oder -1, wenn ein Fehler auftritt.
Hinweise
Eine Anwendung kann die Zeichen drehen, die im Bitmapformat abgerufen werden, indem eine Matrix der Transformation 2 by-2 in der Struktur angibt, die auf durch lpmat2 gezeigt wird.
Symbolkonturen werden als eine Reihe von Kontur zurückgegeben. Jede Kontur wird durch eine TTPOLYGONHEADER-Struktur definiert, die von zu TTPOLYCURVE-Strukturen folgt, benötigt werden, um sie zu beschreiben. Alle Punkte werden als POINTFX-Strukturen zurückgegeben und absolute Positionen, keine relativen Verschiebungen darstellen. Der Ausgangspunkt, der vom pfxStart-Member der Struktur TTPOLYGONHEADER angegeben ist, ist der Punkt, an dem die Kontur für eine Kontur starten. Die TTPOLYCURVE-Strukturen, die folgen, können jeder Polyliniendatensätze sein oder Datensätze verkeilen. Polyliniendatensätze sind eine Reihe von Punkte; die Zeilen, die zwischen den Punkten gezeichnet werden, beschreiben die Kontur des Zeichens. Splinedatensätze stellen die quadratischen Kurven dar, die von TrueType verwendet werden (das heißt, quadratische BSpline).
Anforderungen
Header: afxwin.h