Método Graphics::D rawCurve(constPen*,constPointF*,INT,INT,INT,REAL) (gdiplusgraphics.h)

O método Graphics::D rawCurve desenha uma spline cardinal.

Sintaxe

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

Parâmetros

[in] pen

Tipo: caneta* const

Ponteiro para uma caneta usada para desenhar o spline cardinal.

[in] points

Tipo: const PointF*

Ponteiro para uma matriz de objetos PointF que especificam as coordenadas pelas quais o spline cardinal passa.

[in] count

Tipo: INT

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

[in] offset

Tipo: INT

Inteiro que especifica o elemento na matriz de pontos que especifica o ponto no qual o spline cardinal começa.

[in] numberOfSegments

Tipo: INT

Inteiro que especifica o número de segmentos no spline cardinal.

[in] tension

Tipo: REAL

Número real que especifica o quão firmemente a curva se curva através das coordenadas do spline cardinal.

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

Um segmento é definido como uma curva que conecta dois pontos consecutivos no spline cardinal. O ponto final de cada segmento é o ponto de partida para o próximo. O parâmetro numberOfSegments não deve ser maior que o parâmetro count menos o parâmetro de deslocamento mais um.

Exemplos

O exemplo a seguir desenha uma spline cardinal.

VOID Example_DrawCurve5(HDC hdc)
{
   Graphics graphics(hdc);

   // Define a Pen object and an array of PointF objects.
   Pen greenPen(Color::Green, 3);
   PointF point1(100.0f, 100.0f);
   PointF point2(200.0f, 50.0f);
   PointF point3(400.0f, 10.0f);
   PointF point4(500.0f, 100.0f);

   PointF curvePoints[4] = {
   point1,
   point2,
   point3,
   point4};

   PointF* pcurvePoints = curvePoints;

   // Specify offset, number of segments to draw, and tension.
   int offset = 1;
   int segments = 2;
   REAL tension = 1.0f;

   // Draw the curve.
   graphics.DrawCurve(&greenPen, curvePoints, 4, offset, segments, tension);

   //Draw the points in the curve.
   SolidBrush redBrush(Color::Red);
   graphics.FillEllipse(&redBrush, Rect(95, 95, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(195, 45, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(395, 5, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(495, 95, 10, 10));
}

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 gdiplusgraphics.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Splines cardeais

Métodos DrawClosedCurve

Desenhando splines cardeais

Elementos gráficos

Caneta

Ponto