Freigeben über


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

Siehe auch

Referenz

CDC-Klasse

Hierarchiediagramm

CDC::GetOutlineTextMetrics

GetGlyphOutline

GLYPHMETRICS

TTPOLYGONHEADER

TTPOLYCURVE