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

Hierarchien-Diagramm

CDC::GetOutlineTextMetrics

GetGlyphOutline

GLYPHMETRICS

TTPOLYGONHEADER

TTPOLYCURVE