Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo GraphicsPathIterator.NextSubpath (GraphicsPath, Boolean)

 

Data di pubblicazione: ottobre 2016

Ottiene la figura successiva (sottopercorso) dal percorso associato di questo GraphicsPathIterator.

Spazio dei nomi:   System.Drawing.Drawing2D
Assembly:  System.Drawing (in System.Drawing.dll)

public int NextSubpath(
	GraphicsPath path,
	out bool isClosed
)

Parametri

path
Type: System.Drawing.Drawing2D.GraphicsPath

Oggetto GraphicsPath che è che i dati di set di punti da far corrispondere i dati della figura recuperata (sottopercorso) per l'iteratore.

isClosed
Type: System.Boolean

[out] Indica se il sottopercorso corrente è chiuso. È true Se nella figura è chiusa, in caso contrario è false.

Valore restituito

Type: System.Int32

Il numero di punti dati nella figura recuperata (sottopercorso). Se non sono presenti altre figure da recuperare, viene restituito zero.

Nell'esempio seguente è progettato per l'utilizzo con Windows Form e richiede PaintEventArgse, un OnPaint oggetto evento. Nel codice vengono eseguite le seguenti azioni:

  • Crea un oggetto GraphicsPath.

  • Aggiunge tre righe, un rettangolo, un'ellisse e due marcatori.

  • Elenca i valori dei punti del percorso per il lato sinistro della schermata.

  • Crea un oggetto GraphicsPathIterator.

  • Crea un GraphicsPath oggetto myPathSection, per ricevere i punti copiati.

  • Chiamate di NextSubpath metodo, che esegue l'iterazione per il terzo sottopercorso (figura) e copia tutti i punti contenuti in tale percorso secondario per il myPathSection percorso e restituisce il numero di punti copiato subpathPoints.

  • Elenca il numero sottopercorso e il numero di punti che contiene il lato destro dello schermo.

public void NextSubpathExample2(PaintEventArgs e)
{

    // Create a graphics path.
    GraphicsPath myPath = new GraphicsPath();

    // Set up primitives to add to myPath.
    Point[] myPoints = {new Point(20, 20), new Point(120, 120), 
        new Point(20, 120),new Point(20, 20) }; 
    Rectangle myRect = new Rectangle(120, 120, 100, 100);

    // Add 3 lines, a rectangle, an ellipse, and 2 markers.
    myPath.AddLines(myPoints);
    myPath.SetMarkers();
    myPath.AddRectangle(myRect);
    myPath.SetMarkers();
    myPath.AddEllipse(220, 220, 100, 100);

    // Get the total number of points for the path,

    // and the arrays of the points and types.
    int myPathPointCount = myPath.PointCount;
    PointF[] myPathPoints = myPath.PathPoints;
    byte[] myPathTypes = myPath.PathTypes;

    // Set up variables for listing all of the path's

    // points to the screen.
    int i;
    float j = 20;
    Font myFont = new Font("Arial", 8);
    SolidBrush myBrush = new SolidBrush(Color.Black);

    // List the values of all the path points and types to the screen.
    for(i=0; i<myPathPointCount; i++)
    {
        e.Graphics.DrawString(myPathPoints[i].X.ToString()+
            ", " + myPathPoints[i].Y.ToString() + ", " +
            myPathTypes[i].ToString(),
            myFont,
            myBrush,
            20,
            j);
        j+=20;
    }

    // Create a GraphicsPathIterator for myPath.
    GraphicsPathIterator myPathIterator = new
        GraphicsPathIterator(myPath);

    // Rewind the iterator.
    myPathIterator.Rewind();

    // Create the GraphicsPath section.
    GraphicsPath myPathSection = new GraphicsPath();

    // Iterate to the 3rd subpath and list the number of points therein

    // to the screen.
    int subpathPoints;
    bool IsClosed2;

    // Iterate to the third subpath.
    subpathPoints = myPathIterator.NextSubpath(
        myPathSection, out IsClosed2);
    subpathPoints = myPathIterator.NextSubpath(
        myPathSection, out IsClosed2);
    subpathPoints = myPathIterator.NextSubpath(
        myPathSection, out IsClosed2);

    // Write the number of subpath points to the screen.
    e.Graphics.DrawString("Subpath: 3"  +
        "   Num Points: " +
        subpathPoints.ToString(),
        myFont,
        myBrush,
        200,
        20);
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: