Procedura: creare figure da linee, curve e formeHow to: Create Figures from Lines, Curves, and Shapes

Per creare una figura, costruire un GraphicsPathe quindi chiamare i metodi, ad esempio AddLine e AddCurve, per aggiungere le primitive al percorso.To create a figure, construct a GraphicsPath, and then call methods, such as AddLine and AddCurve, to add primitives to the path.

EsempioExample

Gli esempi di codice seguenti creano i percorsi contenenti cifre:The following code examples create paths that have figures:

  • Nel primo esempio viene creato un percorso che abbia una singola cifra.The first example creates a path that has a single figure. Nella figura è costituito da un singolo arco. L'arco ha un angolo di apertura di-180 gradi in senso antiorario nel sistema di coordinate predefinito.The figure consists of a single arc. The arc has a sweep angle of –180 degrees, which is counterclockwise in the default coordinate system.

  • Nel secondo esempio viene creato un percorso con due cifre.The second example creates a path that has two figures. La prima figura è un arco seguito da una riga.The first figure is an arc followed by a line. La seconda figura è una riga seguita da una curva seguita da una riga.The second figure is a line followed by a curve followed by a line. La prima figura viene lasciata aperta, e la seconda figura è chiusa.The first figure is left open, and the second figure is closed.

GraphicsPath path = new GraphicsPath();
path.AddArc(175, 50, 50, 50, 0, -180);
e.Graphics.DrawPath(new Pen(Color.FromArgb(128, 255, 0, 0), 4), path);
Dim path As New GraphicsPath()
path.AddArc(175, 50, 50, 50, 0, -180)
e.Graphics.DrawPath(New Pen(Color.FromArgb(128, 255, 0, 0), 4), path)

     // Create an array of points for the curve in the second figure.
     Point[] points = {
new Point(40, 60),
new Point(50, 70),
new Point(30, 90)};

     GraphicsPath path = new GraphicsPath();

     path.StartFigure(); // Start the first figure.
     path.AddArc(175, 50, 50, 50, 0, -180);
     path.AddLine(100, 0, 250, 20);
     // First figure is not closed.

     path.StartFigure(); // Start the second figure.
     path.AddLine(50, 20, 5, 90);
     path.AddCurve(points, 3);
     path.AddLine(50, 150, 150, 180);
     path.CloseFigure(); // Second figure is closed.

     e.Graphics.DrawPath(new Pen(Color.FromArgb(255, 255, 0, 0), 2), path);
' Create an array of points for the curve in the second figure.
Dim points As Point() = { _
   New Point(40, 60), _
   New Point(50, 70), _
   New Point(30, 90)}

Dim path As New GraphicsPath()

path.StartFigure() ' Start the first figure.
path.AddArc(175, 50, 50, 50, 0, -180)
path.AddLine(100, 0, 250, 20)
' First figure is not closed.

path.StartFigure() ' Start the second figure.
path.AddLine(50, 20, 5, 90)
path.AddCurve(points, 3)
path.AddLine(50, 150, 150, 180)
path.CloseFigure() ' Second figure is closed.
e.Graphics.DrawPath(New Pen(Color.FromArgb(255, 255, 0, 0), 2), path)

Compilazione del codiceCompiling the Code

Negli esempi precedenti sono progettati per l'uso con Windows Form e richiedono PaintEventArgs e, ovvero un parametro del Paint gestore dell'evento.The previous examples are designed for use with Windows Forms, and they require PaintEventArgs e, which is a parameter of the Paint event handler.

Vedere ancheSee Also

GraphicsPath
Costruzione e creazione di percorsiConstructing and Drawing Paths
Uso di un oggetto Pen per creare linee e formeUsing a Pen to Draw Lines and Shapes