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 |