Graphics::D rawCurve(constPen*,constPoint*,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 Point *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 Point*

Puntero a una matriz de objetos Point 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_DrawCurve2(HDC hdc)
{
   Graphics graphics(hdc);

   // Define a Pen object and an array of Point objects.
   Pen greenPen(Color::Green, 3);
   Point point1(100, 100);
   Point point2(200, 50);
   Point point3(400, 10);
   Point point4(500, 100);

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

   Point* pcurvePoints = curvePoints;

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

   // 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

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