GraphicsPath::AddCurve(constPointF*,INT,INT,INT,REAL) (gdipluspath.h)
El método GraphicsPath::AddCurve agrega una spline cardinal a la figura actual de esta ruta de acceso.
Sintaxis
Status AddCurve(
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Parámetros
[in] points
Tipo: const PointF*
Puntero a una matriz de puntos que definen la spline cardinal. La spline cardinal es una curva que pasa a través de un subconjunto (especificado por los parámetros offset y numberOfSegments ) de los puntos de la matriz.
[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 índice del elemento de matriz que se usa como primer punto de la spline cardinal.
[in] numberOfSegments
Tipo: INT
Entero que especifica el número de segmentos de la spline cardinal. Los segmentos son las curvas que conectan puntos consecutivos en la matriz.
[in] tension
Tipo: REAL
Número real no negativo que controla la longitud de la curva y cómo se dobla la curva. Un valor de 0 especifica que la spline es una secuencia de segmentos de línea recta. A medida que aumenta el valor, la curva se llena.
Valor devuelto
Tipo: Estado
Si el método se realiza 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
Debe conservar una copia de la matriz de puntos si esos puntos se necesitarán más adelante. El objeto GraphicsPath no almacena los puntos pasados al método AddClosedCurve ; en su lugar, convierte la spline cardinal en una secuencia de splines bézier y almacena los puntos que definen esas splines bézier. No se puede recuperar la matriz original de puntos del objeto GraphicsPath .
Ejemplos
En el ejemplo siguiente se crea una ruta de acceso de objeto GraphicsPath, se agrega una spline cardinal a la ruta de acceso y, a continuación, se dibuja la ruta de acceso. La spline se crea a partir de los puntos indexados de 2 a 6 en una matriz de ocho puntos.
VOID AddCurveExample3(HDC hdc)
{
Graphics graphics(hdc);
GraphicsPath path;
PointF pts[] = {PointF(50.0f, 50.0f),
PointF(70.0f, 80.0f),
PointF(100.0f, 100.0f),
PointF(130.0f, 40.0f),
PointF(150.0f, 90.0f),
PointF(180.0f, 30.0f),
PointF(210.0f, 120.0f),
PointF(240.0f, 80.0f)};
path.AddCurve(
pts,
8, // There are eight points in the array.
2, // Start at the point with index 2.
4, // Four segments. End at the point with index 6.
1.0f);
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Draw all eight points in the array.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j <= 7; ++j)
graphics.FillEllipse(&brush, pts[j].X - 3.0f, pts[j].Y - 3.0f, 6.0f, 6.0f);
}
Color(255, 255, 0, 0)
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 | gdipluspath.h (incluya Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |