Share via


PolyDraw-Funktion (wingdi.h)

Die PolyDraw-Funktion 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 , das die Endpunkte für jedes Liniensegment sowie die Endpunkte und Kontrollpunkte für jede Bézierkurve in logischen Einheiten enthält.

[in] aj

Ein Zeiger auf ein Array, das angibt, wie jeder Punkt im lppt-Array verwendet wird. Dieser Parameter kann einen der folgenden Werte annehmen.

type 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, der 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 nicht drei aufeinander folgende PT_BEZIERTO Punkte vorhanden sind, tritt ein Fehler auf.

 

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 ist.

Wert Bedeutung
PT_CLOSEFIGURE
Gibt an, dass die Abbildung automatisch geschlossen wird, nachdem die PT_LINETO oder PT_BEZIERTO Typ für diesen Punkt abgeschlossen wurde. Von diesem Punkt bis zum letzten PT_MOVETO oder MoveToEx-Punkt wird eine Linie gezeichnet.

Dieser Wert wird mit dem PT_LINETO Typ für eine Linie oder mit dem PT_BEZIERTO Typ des Endpunkts für eine Bézierkurve kombiniert, indem der bitweise Operator OR verwendet wird.

Die aktuelle Position wird auf den Endpunkt der Schlusslinie festgelegt.

[in] cpt

Die Gesamtanzahl der Punkte im lppt-Array , die der Anzahl der Bytes im lpbTypes-Array entspricht.

Rückgabewert

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

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Hinweise

Die PolyDraw-Funktion kann anstelle von aufeinander folgenden Aufrufen der Funktionen MoveToEx, LineTo und PolyBezierTo verwendet werden, um unzusammengelöste Zahlen zu zeichnen. Die Linien und Kurven werden mit dem aktuellen Stift gezeichnet, und die Zahlen sind nicht ausgefüllt. Wenn ein aktiver Pfad durch Aufrufen von BeginPath gestartet wird, fügt PolyDraw dem Pfad hinzu.

Die im lppt-Array und im lpbTypes-Array enthaltenen Punkte geben an, ob jeder Punkt Teil eines MoveTo-, LineTo- oder PolyBezierTo-Vorgangs ist. Es ist auch möglich, Zahlen zu schließen.

Diese Funktion aktualisiert die aktuelle Position.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h (windows.h einschließen)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

BeginPath

EndPath

Linien- und Kurvenfunktionen

Lineto

Übersicht über Linien und Kurven

MoveToEx

PUNKT

PolyBezierTo

Polylinie