Compartilhar via


Função PolyDraw (wingdi.h)

A função PolyDraw desenha um conjunto de segmentos de linha e curvas Bézier.

Sintaxe

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

Parâmetros

[in] hdc

Um identificador para um contexto de dispositivo.

[in] apt

Um ponteiro para uma matriz de estruturas POINT que contém os pontos de extremidade para cada segmento de linha e os pontos de extremidade e pontos de controle para cada curva Bézier, em unidades lógicas.

[in] aj

Um ponteiro para uma matriz que especifica como cada ponto na matriz lppt é usado. Esse parâmetro pode ser um dos valores a seguir.

Tipo Significado
PT_MOVETO
Especifica que este ponto inicia uma figura desarticulada. Esse ponto se torna a nova posição atual.
PT_LINETO
Especifica que uma linha deve ser desenhada da posição atual para este ponto, que se torna a nova posição atual.
PT_BEZIERTO
Especifica que esse ponto é um ponto de controle ou ponto final para uma curva de Bézier.

PT_BEZIERTO tipos sempre ocorrem em conjuntos de três. A posição atual define o ponto de partida para a curva Bézier. Os dois primeiros PT_BEZIERTO pontos são os pontos de controle, e o terceiro ponto PT_BEZIERTO é o ponto final. O ponto final torna-se a nova posição atual. Se não houver três pontos PT_BEZIERTO consecutivos, ocorrerá um erro.

 

Um tipo de PT_LINETO ou PT_BEZIERTO pode ser combinado com o valor a seguir usando o operador or bit a bit para indicar que o ponto correspondente é o último ponto em uma figura e a figura está fechada.

Valor Significado
PT_CLOSEFIGURE
Especifica que a figura é fechada automaticamente após a conclusão do tipo PT_LINETO ou PT_BEZIERTO para esse ponto. Uma linha é desenhada deste ponto para o ponto PT_MOVETO ou MoveToEx mais recente.

Esse valor é combinado com o tipo PT_LINETO para uma linha ou com o tipo PT_BEZIERTO do ponto final para uma curva Bézier usando o operador OR bit a bit.

A posição atual é definida como o ponto final da linha de fechamento.

[in] cpt

O número total de pontos na matriz lppt , o mesmo que o número de bytes na matriz lpbTypes.

Valor de retorno

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero.

Observações

A função PolyDraw pode ser usada no lugar de chamadas consecutivas para MoveToEx, LineTo e funções PolyBezierTo para desenhar figuras desarticuladas. As linhas e as curvas são desenhadas usando a caneta atual e as figuras não são preenchidas. Se houver um caminho ativo iniciado chamando BeginPath, PolyDraw adiciona ao caminho.

Os pontos contidos na matriz de lppt e na matriz lpbTypes indicam se cada ponto faz parte de umamoveto , LineTo ou operação PolyBezierTo. Também é possível fechar números.

Essa função atualiza a posição atual.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wingdi.h (inclua Windows.h)
biblioteca Gdi32.lib
de DLL Gdi32.dll

Consulte também

BeginPath

EndPath

Funções de linha e curva

lineto

Visão geral de linhas e curvas

MoveToEx

POINT

PolyBezierTo

PolyLine