Compartilhar via


Método GraphicsPath::AddCurve(constPoint*,INT,INT,INT,REAL) (gdipluspath.h)

O método GraphicsPath::AddCurve adiciona um spline cardinal à figura atual desse caminho.

Sintaxe

Status AddCurve(
  [in] const Point *points,
  [in] INT         count,
  [in] INT         offset,
  [in] INT         numberOfSegments,
  [in] REAL        tension
);

Parâmetros

[in] points

Tipo: const Point*

Ponteiro para uma matriz de pontos que definem o spline cardinal. O spline cardinal é uma curva que passa por um subconjunto (especificado pelos parâmetros offset e numberOfSegments ) dos pontos na matriz.

[in] count

Tipo: INT

Inteiro que especifica o número de elementos na matriz de pontos .

[in] offset

Tipo: INT

Inteiro que especifica o índice do elemento de matriz que é usado como o primeiro ponto do spline cardinal.

[in] numberOfSegments

Tipo: INT

Inteiro que especifica o número de segmentos no spline cardinal. Segmentos são as curvas que conectam pontos consecutivos na matriz.

[in] tension

Tipo: REAL

Número real não negativo que controla o comprimento da curva e como a curva se curva. Um valor 0 especifica que o spline é uma sequência de segmentos de linha reta. À medida que o valor aumenta, a curva fica mais completa.

Valor retornado

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

Você deverá manter uma cópia da matriz de pontos se esses pontos forem necessários mais tarde. O objeto GraphicsPath não armazena os pontos passados para o método AddClosedCurve ; em vez disso, converte o spline cardinal em uma sequência de splines Bézier e armazena os pontos que definem essas splines Bézier. Não é possível recuperar a matriz original de pontos do objeto GraphicsPath .

Exemplos

O exemplo a seguir cria um caminho de objeto GraphicsPath, adiciona um spline cardinal ao caminho e desenha o caminho. O spline é criado a partir dos pontos indexados de 2 a 6 em uma matriz de oito pontos.

VOID AddCurveExample2(HDC hdc)
{
   GraphicsPath   path;
   Graphics graphics(hdc);
   
   Point pts[] = {Point(50, 50),
                  Point(70, 80),
                  Point(100, 100),
                  Point(130, 40),
                  Point(150, 90),
                  Point(180, 30),
                  Point(210, 120),
                  Point(240, 80)};
   path.AddCurve(
      pts, 
      8,     // There are eight points in the array. 
      2,     // Start at the point with index 2.
      4,     // Four segments. End at the point with index 6.
      1.0f);
   Pen pen(Color(255, 0, 0, 255));
   graphics.DrawPath(&pen, &path);
   // Draw all eight points in the array.
   SolidBrush brush(Color(255, 255, 0, 0));
   for(INT j = 0; j <= 7; ++j)
      graphics.FillEllipse(&brush, pts[j].X - 3, pts[j].Y - 3, 6, 6);
}

Requisitos

   
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdipluspath.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Métodos AddBezier

Métodos AddBeziers

Métodos AddClosedCurve

Métodos AddCurve

Splines cardeais

Recorte com uma região

Construindo e desenhando demarcadores

Criando um Gradiente de Caminho

Desenhando splines cardeais

Graphicspath

Caminhos

Ponto