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

El método Graphics::D rawCurve dibuja una spline cardinal.

Sintaxis

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: const Pen*

Puntero a un lápiz que se usa para dibujar la spline cardinal.

[in] points

Tipo: const PointF*

Puntero a una matriz de objetos PointF que especifican las coordenadas a las que pasa la spline cardinal.

[in] count

Tipo: INT

Entero que especifica el número de elementos de la matriz de puntos .

[in] offset

Tipo: INT

Entero que especifica el elemento de la matriz de puntos que especifica el punto en el que comienza la spline cardinal.

[in] numberOfSegments

Tipo: INT

Entero que especifica el número de segmentos de la spline cardinal.

[in] tension

Tipo: REAL

Número real que especifica cómo se dobla estrechamente la curva a través de las coordenadas de la spline cardinal.

Valor devuelto

Tipo: Estado

Si el método se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Comentarios

Un segmento se define como una curva que conecta dos puntos consecutivos en la spline cardinal. El punto final de cada segmento es el punto inicial para el siguiente. El parámetro numberOfSegments no debe ser mayor que el parámetro count menos el parámetro offset más uno.

Ejemplos

En el ejemplo siguiente se dibuja una 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 compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusgraphics.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Splines cardinales

Métodos DrawClosedCurve

Dibujar splines cardinales

Elementos gráficos

Lápiz

Point