Percorsi di oggetti Graphics in GDI+Graphics Paths in GDI+

I percorsi sono costituiti dalla combinazione di linee, rettangoli e curve semplici.Paths are formed by combining lines, rectangles, and simple curves. Ricorda di Cenni preliminari sulla grafica vettoriale i seguenti blocchi predefiniti si sono rivelati a essere più utili per il disegno di immagini:Recall from the Vector Graphics Overview that the following basic building blocks have proven to be the most useful for drawing pictures:

  • LineeLines

  • RettangoliRectangles

  • Puntini di sospensioneEllipses

  • ArchiArcs

  • PoligoniPolygons

  • Spline cardinaliCardinal splines

  • Spline di BézierBézier splines

In GDI+, i GraphicsPath oggetto consente di raccogliere una sequenza di tali blocchi predefiniti in una singola unità.In GDI+, the GraphicsPath object allows you to collect a sequence of these building blocks into a single unit. L'intera sequenza di linee, rettangoli, poligoni e curve può quindi essere disegnata con una chiamata al DrawPath metodo la Graphics classe.The entire sequence of lines, rectangles, polygons, and curves can then be drawn with one call to the DrawPath method of the Graphics class. Nella figura seguente viene illustrato un percorso creato dalla combinazione di una riga, un arco, una spline di Bézier e una spline di tipo cardinal.The following illustration shows a path created by combining a line, an arc, a Bézier spline, and a cardinal spline.

PercorsoPath

Utilizzo di un percorsoUsing a Path

Il GraphicsPath classe fornisce i metodi seguenti per la creazione di una sequenza di elementi da tracciare: AddLine, AddRectangle, AddEllipse, AddArc, AddPolygon, AddCurve (per spline cardinali), e AddBezier.The GraphicsPath class provides the following methods for creating a sequence of items to be drawn: AddLine, AddRectangle, AddEllipse, AddArc, AddPolygon, AddCurve (for cardinal splines), and AddBezier. Ognuno di questi metodi è in overload; ovvero, ogni metodo supporta diversi elenchi di parametri diversi.Each of these methods is overloaded; that is, each method supports several different parameter lists. Ad esempio, una variazione del AddLine metodo riceve quattro valori integer e un'altra variazione del AddLine metodo riceve due Point oggetti.For example, one variation of the AddLine method receives four integers, and another variation of the AddLine method receives two Point objects.

I metodi per l'aggiunta di linee, rettangoli e spline di Bézier da un percorso sono associati più metodi che aggiungono diversi elementi nel percorso in una singola chiamata: AddLines, AddRectangles, e AddBeziers.The methods for adding lines, rectangles, and Bézier splines to a path have plural companion methods that add several items to the path in a single call: AddLines, AddRectangles, and AddBeziers. Inoltre, il AddCurve e AddArc metodi sono metodi complementare, AddClosedCurve e AddPie, che consentono di aggiungere una curva o chiusa a torta al percorso.Also, the AddCurve and AddArc methods have companion methods, AddClosedCurve and AddPie, that add a closed curve or pie to the path.

Per disegnare un tracciato, è necessario un Graphics oggetto, un Pen , oggetto e un GraphicsPath oggetto.To draw a path, you need a Graphics object, a Pen object, and a GraphicsPath object. Il Graphics oggetto fornisce il DrawPath (metodo) e Pen oggetto archivia gli attributi, ad esempio spessore e colore della linea utilizzata per eseguire il rendering di percorso.The Graphics object provides the DrawPath method, and the Pen object stores attributes, such as width and color, of the line used to render the path. Il GraphicsPath oggetto archivia la sequenza di linee e curve che costituiscono il percorso.The GraphicsPath object stores the sequence of lines and curves that make up the path. Il Pen oggetto e GraphicsPath oggetto vengono passati come argomenti per il DrawPath metodo.The Pen object and the GraphicsPath object are passed as arguments to the DrawPath method. Nell'esempio seguente disegna un percorso che include una riga, di un'ellisse e di una spline di Bézier:The following example draws a path that consists of a line, an ellipse, and a Bézier spline:

myGraphicsPath.AddLine(0, 0, 30, 20);
myGraphicsPath.AddEllipse(20, 20, 20, 40);
myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10);
myGraphics.DrawPath(myPen, myGraphicsPath);
myGraphicsPath.AddLine(0, 0, 30, 20)
myGraphicsPath.AddEllipse(20, 20, 20, 40)
myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10)
myGraphics.DrawPath(myPen, myGraphicsPath)

Nella figura seguente mostra il percorso.The following illustration shows the path.

PercorsoPath

Oltre ad aggiungere righe, rettangoli e curve a un percorso, è possibile aggiungere i percorsi in un percorso.In addition to adding lines, rectangles, and curves to a path, you can add paths to a path. Ciò consente di combinare i percorsi esistenti per creare percorsi lunghi e complessi.This allows you to combine existing paths to form large, complex paths.

myGraphicsPath.AddPath(graphicsPath1, false);
myGraphicsPath.AddPath(graphicsPath2, false);
myGraphicsPath.AddPath(graphicsPath1, False)
myGraphicsPath.AddPath(graphicsPath2, False)

Esistono altri due elementi è possibile aggiungere a un percorso: stringhe e i grafici a torta.There are two other items you can add to a path: strings and pies. Un grafico a torta è una parte all'interno di un'ellisse.A pie is a portion of the interior of an ellipse. L'esempio seguente crea un percorso da un arco, una spline di tipo cardinal, una stringa e un grafico a torta:The following example creates a path from an arc, a cardinal spline, a string, and a pie:

     GraphicsPath myGraphicsPath = new GraphicsPath();

     Point[] myPointArray = {
new Point(5, 30), 
new Point(20, 40), 
new Point(50, 30)};

     FontFamily myFontFamily = new FontFamily("Times New Roman");
     PointF myPointF = new PointF(50, 20);
     StringFormat myStringFormat = new StringFormat();

     myGraphicsPath.AddArc(0, 0, 30, 20, -90, 180);
     myGraphicsPath.StartFigure();
     myGraphicsPath.AddCurve(myPointArray);
     myGraphicsPath.AddString("a string in a path", myFontFamily,
        0, 24, myPointF, myStringFormat);
     myGraphicsPath.AddPie(230, 10, 40, 40, 40, 110);
     myGraphics.DrawPath(myPen, myGraphicsPath);
Dim myGraphicsPath As New GraphicsPath()

Dim myPointArray As Point() = { _
   New Point(5, 30), _
   New Point(20, 40), _
   New Point(50, 30)}

Dim myFontFamily As New FontFamily("Times New Roman")
Dim myPointF As New PointF(50, 20)
Dim myStringFormat As New StringFormat()

myGraphicsPath.AddArc(0, 0, 30, 20, -90, 180)
myGraphicsPath.StartFigure()
myGraphicsPath.AddCurve(myPointArray)
myGraphicsPath.AddString("a string in a path", myFontFamily, _
   0, 24, myPointF, myStringFormat)
myGraphicsPath.AddPie(230, 10, 40, 40, 40, 110)
myGraphics.DrawPath(myPen, myGraphicsPath)

Nella figura seguente mostra il percorso.The following illustration shows the path. Si noti che un percorso non è necessario essere connessi; l'arco, spline di tipo cardinal, stringa e a torta sono separati.Note that a path does not have to be connected; the arc, cardinal spline, string, and pie are separated.

PercorsiPaths

Vedere ancheSee Also

System.Drawing.Drawing2D.GraphicsPath
System.Drawing.Point
Linee, curve e formeLines, Curves, and Shapes
Procedura: Creare oggetti Graphics per disegnareHow to: Create Graphics Objects for Drawing
Costruzione e creazione di percorsiConstructing and Drawing Paths