Funzione PolyDraw (wingdi.h)

La funzione PolyDraw disegna un set di segmenti di linea e curve Bézier.

Sintassi

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

Parametri

[in] hdc

Handle per un contesto di dispositivo.

[in] apt

Puntatore a una matrice di strutture POINT che contiene gli endpoint per ogni segmento di riga e gli endpoint e i punti di controllo per ogni curva bézier, in unità logiche.

[in] aj

Puntatore a una matrice che specifica il modo in cui viene usato ogni punto della matrice lppt . Questo parametro può avere uno dei valori seguenti.

Type Significato
PT_MOVETO
Specifica che questo punto avvia una figura disgiunzione. Questo punto diventa la nuova posizione corrente.
PT_LINETO
Specifica che una riga deve essere disegnata dalla posizione corrente a questo punto, che diventa quindi la nuova posizione corrente.
PT_BEZIERTO
Specifica che questo punto è un punto di controllo o un punto finale per una curva Bézier.

PT_BEZIERTO tipi si verificano sempre in set di tre. La posizione corrente definisce il punto iniziale per la curva Bézier. I primi due punti PT_BEZIERTO sono i punti di controllo e il terzo punto PT_BEZIERTO è il punto finale. Il punto finale diventa la nuova posizione corrente. Se non sono presenti tre punti di PT_BEZIERTO consecutivi, viene restituito un errore.

 

Un PT_LINETO o un tipo PT_BEZIERTO può essere combinato con il valore seguente usando l'operatore bit per indicare che il punto corrispondente è l'ultimo punto di una figura e la figura viene chiusa.

Valore Significato
PT_CLOSEFIGURE
Specifica che la figura viene chiusa automaticamente dopo l'PT_LINETO o il tipo di PT_BEZIERTO per questo punto. Una linea viene disegnata da questo punto al punto più recente PT_MOVETO o MoveToEx .

Questo valore viene combinato con il tipo PT_LINETO per una linea o con il tipo PT_BEZIERTO del punto finale per una curva Bézier usando l'operatore bit per bit OR.

La posizione corrente è impostata sul punto finale della riga di chiusura.

[in] cpt

Numero totale di punti nella matrice lppt , uguale al numero di byte nella matrice lpbTypes .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

La funzione PolyDraw può essere usata al posto di chiamate consecutive alle funzioni MoveToEx, LineTo e PolyBezierTo per disegnare figure disgiunte. Le linee e le curve vengono disegnate usando la penna corrente e le figure non vengono riempite. Se è stato avviato un percorso attivo chiamando BeginPath, PolyDraw aggiunge al percorso.

I punti contenuti nella matrice lppt e nella matrice lpbTypes indicano se ogni punto fa parte di un'operazione MoveTo, LineTo o PolyBezierTo. È anche possibile chiudere le cifre.

Questa funzione aggiorna la posizione corrente.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

BeginPath

EndPath

Funzioni linea e curva

LineTo

Panoramica delle linee e delle curve

MoveToEx

PUNTO

PolyBezierTo

Polilinea