Metodo GraphicsPath::AddCurve(constPointF*,INT,INT,INT,REAL) (gdipluspath.h)
Il metodo GraphicsPath::AddCurve aggiunge una spline cardinal alla figura corrente di questo percorso.
Sintassi
Status AddCurve(
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Parametri
[in] points
Tipo: const PointF*
Puntatore a una matrice di punti che definiscono la spline cardinale. Lo spline cardinal è una curva che passa attraverso un subset (specificato dai parametri offset e numberOfSegments ) dei punti nella matrice.
[in] count
Tipo: INT
Intero che specifica il numero di elementi nella matrice di punti .
[in] offset
Tipo: INT
Integer che specifica l'indice dell'elemento della matrice utilizzato come primo punto della spline cardinale.
[in] numberOfSegments
Tipo: INT
Intero che specifica il numero di segmenti nella spline cardinale. I segmenti sono le curve che connettono punti consecutivi nella matrice.
[in] tension
Tipo: REAL
Numero reale non negativo che controlla la lunghezza della curva e il modo in cui la curva si piega. Il valore 0 specifica che la spline è una sequenza di segmenti di linea retta. Man mano che aumenta il valore, la curva diventa più piena.
Valore restituito
Tipo: Stato
Se il metodo ha esito positivo, restituisce Ok, che è un elemento dell'enumerazione Status .
Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .
Commenti
È consigliabile conservare una copia della matrice di punti se questi punti saranno necessari in un secondo momento. L'oggetto GraphicsPath non archivia i punti passati al metodo AddClosedCurve ; converte invece la spline cardinal in una sequenza di spline di Bézier e archivia i punti che definiscono le spline di Bézier. Non è possibile recuperare la matrice originale di punti dall'oggetto GraphicsPath .
Esempio
Nell'esempio seguente viene creato un percorso dell'oggetto GraphicsPath, viene aggiunto uno spline cardinale al percorso e quindi viene disegnato il percorso. La spline viene compilata dai punti indicizzati da 2 a 6 in una matrice di otto punti.
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)
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP, Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | gdipluspath.h (include Gdiplus.h) |
Libreria | Gdiplus.lib |
DLL | Gdiplus.dll |
Vedi anche
Costruzione e creazione di percorsi