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 |