Función PolyDraw (wingdi.h)

La función PolyDraw dibuja un conjunto de segmentos de línea y curvas Bézier.

Sintaxis

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

Parámetros

[in] hdc

Identificador de un contexto de dispositivo.

[in] apt

Puntero a una matriz de estructuras POINT que contiene los extremos de cada segmento de línea y los puntos de conexión y de control de cada curva Bézier, en unidades lógicas.

[in] aj

Puntero a una matriz que especifica cómo se usa cada punto de la matriz lppt . Este parámetro puede ser uno de los valores siguientes.

Tipo Significado
PT_MOVETO
: especifica que este punto inicia una figura no contigua. Este punto se convierte en la nueva posición actual.
PT_LINETO
: especifica que se va a dibujar una línea desde la posición actual hasta este punto, que luego se convierte en la nueva posición actual.
PT_BEZIERTO
Especifica que este punto es un punto de control o punto final para una curva Bézier.

PT_BEZIERTO tipos siempre se producen en conjuntos de tres. La posición actual define el punto inicial de la curva Bézier. Los dos primeros puntos PT_BEZIERTO son los puntos de control y el tercer punto PT_BEZIERTO es el punto final. Este punto final se convierte en la nueva posición actual. Si no hay tres puntos de PT_BEZIERTO consecutivos, se produce un error.

 

Un tipo PT_LINETO o PT_BEZIERTO se puede combinar con el siguiente valor mediante el operador bit a bit OR para indicar que el punto correspondiente es el último punto de una figura y se cierra la figura.

Valor Significado
PT_CLOSEFIGURE
Especifica que la figura se cierra automáticamente después de que se realice el tipo de PT_LINETO o PT_BEZIERTO para este punto. Una línea se dibuja desde este punto hasta el punto más reciente PT_MOVETO o MoveToEx .

Este valor se combina con el tipo de PT_LINETO para una línea o con el tipo PT_BEZIERTO del punto final de una curva Bézier, mediante el operador bit a bit OR.

La posición actual se establece en el punto final de la línea de cierre.

[in] cpt

Número total de puntos de la matriz lppt , igual que el número de bytes de la matriz lpbTypes .

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero.

Comentarios

La función PolyDraw se puede usar en lugar de llamadas consecutivas a las funciones MoveToEx, LineTo y PolyBezierTo para dibujar ilustraciones desenlajadas. Las líneas y curvas se dibujan con el lápiz actual y no se rellenan las figuras. Si hay una ruta de acceso activa iniciada llamando a BeginPath, PolyDraw agrega a la ruta de acceso.

Los puntos contenidos en la matriz lppt y en la matriz lpbTypes indican si cada punto forma parte de una operación MoveTo, LineTo o PolyBezierTo . También es posible cerrar las figuras.

Esta función actualiza la posición actual.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wingdi.h (incluye Windows.h)
Library Gdi32.lib
Archivo DLL Gdi32.dll

Consulte también

BeginPath

EndPath

Funciones de línea y curva

Lineto

Información general sobre líneas y curvas

MoveToEx

PUNTO

PolyBezierTo

Polilínea