PolygonSmooth

Desenha um polígono com uma espessura predeterminada usando dois algoritmos de suavização sequencialmente. Em primeiro lugar, com base nas curvas de Bezier, são suavizados segmentos individuais. Em seguida, para melhorar a qualidade da plotagem em relação ao polígono construído a partir destes segmentos, é aplicado o algoritmo bitmap de suavização

void  PolygonSmooth(
   int&             x[],                          // matriz de coordenadas X de pontos de polígono
   int&             y[],                          // matriz de coordenadas Y de pontos de polígono
   const uint       clr,                          // cor
   const int        size,                         // espessura de linha
   ENUM_LINE_STYLE  style=STYLE_SOLID,            // estilo de linha
   ENUM_LINE_END    end_style=LINE_END_ROUND,     // estilo de estremidades de linha
   double           tension=0.5,                  // valor do parâmetro de suavização
   double           step=10                       // comprimento das linhas de aproximação
   )

Parâmetros

&x[]

[in]  Matriz de coordenadas X de pontos de polígono.

&y[]

[in]  Matriz de coordenadas Y de pontos de polígono.

clr

[in]  Cor no formato ARGB.

size

[in]  Espessura de linha.

style=STYLE_SOLID

[in]  Estilo de linha – um dos valores da enumeração ENUM_LINE_STYLE ou um valor personalizado.

end_style=LINE_END_ROUND

[in]  Estilo de extremidades de linha – um dos valores da enumeração ENUM_LINE_END.

tension=0.5

[in]  Valor do parâmetro de suavização.

step=10

[in]  Comprimento das linhas que se aproximam.