Freigeben über


PolyDraw-Funktion (wingdi.h)

Die funktion PolyDraw zeichnet eine Reihe von Liniensegmenten und Bézierkurven.

Syntax

BOOL PolyDraw(
  [in] HDC         hdc,
  [in] const POINT *apt,
  [in] const BYTE  *aj,
  [in] int         cpt
);

Parameter

[in] hdc

Ein Handle für einen Gerätekontext.

[in] apt

Ein Zeiger auf ein Array von POINT Strukturen, die die Endpunkte für jedes Liniensegment und die Endpunkte und Kontrollpunkte für jede Bézierkurve in logischen Einheiten enthalten.

[in] aj

Ein Zeiger auf ein Array, das angibt, wie jeder Punkt im lppt Array verwendet wird. Dieser Parameter kann einer der folgenden Werte sein:

Art Bedeutung
PT_MOVETO
Gibt an, dass dieser Punkt eine nicht zusammenhängende Abbildung beginnt. Dieser Punkt wird zur neuen aktuellen Position.
PT_LINETO
Gibt an, dass eine Linie von der aktuellen Position bis zu diesem Punkt gezeichnet werden soll, was dann zur neuen aktuellen Position wird.
PT_BEZIERTO
Gibt an, dass dieser Punkt ein Kontrollpunkt oder Endpunkt für eine Bézierkurve ist.

PT_BEZIERTO Typen treten immer in Gruppen von drei auf. Die aktuelle Position definiert den Ausgangspunkt für die Bézierkurve. Die ersten beiden PT_BEZIERTO Punkte sind die Kontrollpunkte, und der dritte PT_BEZIERTO Punkt ist der Endpunkt. Der Endpunkt wird zur neuen aktuellen Position. Wenn keine drei aufeinander folgenden PT_BEZIERTO Punkte vorhanden sind, wird ein Fehler erzielt.

 

Ein PT_LINETO- oder PT_BEZIERTO-Typ kann mit dem folgenden Wert kombiniert werden, indem der bitweise Operator OR verwendet wird, um anzugeben, dass der entsprechende Punkt der letzte Punkt in einer Abbildung ist und die Abbildung geschlossen wird.

Wert Bedeutung
PT_CLOSEFIGURE
Gibt an, dass die Abbildung nach abschluss des PT_LINETO oder PT_BEZIERTO Typs für diesen Punkt automatisch geschlossen wird. Eine Linie wird von diesem Punkt zum letzten PT_MOVETO oder MoveToEx- Punkt gezeichnet.

Dieser Wert wird mit dem typ PT_LINETO für eine Linie oder mit dem PT_BEZIERTO Typ des Endpunkts für eine Bézierkurve mithilfe des bitweisen Operators OR kombiniert.

Die aktuelle Position wird auf den Endpunkt der schließenden Linie festgelegt.

[in] cpt

Die Gesamtanzahl der Punkte im lppt Array, identisch mit der Anzahl der Bytes im lpbTypes Array.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null.

Bemerkungen

Die PolyDraw--Funktion kann anstelle aufeinander folgender Aufrufe von MoveToEx-, LineTo-und PolyBezierTo- Funktionen verwendet werden, um nicht zusammenhängende Zahlen zu zeichnen. Die Linien und Kurven werden mit dem aktuellen Stift gezeichnet, und zahlen sind nicht gefüllt. Wenn ein aktiver Pfad gestartet wird, indem BeginPathaufgerufen wird, wird PolyDraw dem Pfad hinzugefügt.

Die punkte im lppt array und im lpbTypes array geben an, ob jeder Punkt Teil eines MoveTo, LineTooder PolyBezierTo Operation ist. Es ist auch möglich, Zahlen zu schließen.

Diese Funktion aktualisiert die aktuelle Position.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- wingdi.h (enthalten Windows.h)
Library Gdi32.lib
DLL- Gdi32.dll

Siehe auch

BeginPath-

EndPath-

Linien- und Kurvenfunktionen

LineTo-

übersicht über linien und kurven

MoveToEx-

POINT-

PolyBezierTo

PolyLine-