Compartilhar via


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

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

Sintaxe

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

Parâmetros

[in] points

Tipo: const PointF*

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.

Retornar valor

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 AddCurveExample3(HDC hdc)
{
   Graphics graphics(hdc);
   GraphicsPath path;
   
   PointF pts[] = {PointF(50.0f, 50.0f),
                  PointF(70.0f, 80.0f),
                  PointF(100.0f, 100.0f),
                  PointF(130.0f, 40.0f),
                  PointF(150.0f, 90.0f),
                  PointF(180.0f, 30.0f),
                  PointF(210.0f, 120.0f),
                  PointF(240.0f, 80.0f)};
   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.0f, pts[j].Y - 3.0f, 6.0f, 6.0f); 
}
Color(255, 255, 0,  0)

Requisitos

Requisito Valor
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

Pointf