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 GraphicsPath.Warp (PointF[], RectangleF, Matrix, WarpMode, Single)

 

Data di pubblicazione: ottobre 2016

Si applica una trasformazione con distorsione definita da un rettangolo e un parallelogramma a questa GraphicsPath.

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

public void Warp(
	PointF[] destPoints,
	RectangleF srcRect,
	Matrix matrix,
	WarpMode warpMode,
	float flatness
)

Parametri

destPoints
Type: System.Drawing.PointF[]

Matrice di PointF strutture che definiscono un parallelogramma a cui il rettangolo definito dai srcRect viene trasformato. La matrice può contenere tre o quattro elementi. Se la matrice contiene tre elementi, nell'angolo inferiore destro del parallelogramma è utilizzata per i primi tre punti.

srcRect
Type: System.Drawing.RectangleF

Oggetto RectangleF che rappresenta il rettangolo che viene trasformato nel parallelogramma definito da destPoints.

matrix
Type: System.Drawing.Drawing2D.Matrix

Oggetto Matrix che specifica una trasformazione geometrica da applicare al percorso.

warpMode
Type: System.Drawing.Drawing2D.WarpMode

Oggetto WarpMode enumerazione che specifica se questa operazione di distorsione utilizza la modalità prospettica o bilineare.

flatness
Type: System.Single

È un valore compreso tra 0 e 1 che specifica la modalità flat il percorso risulta. Per ulteriori informazioni, vedere il Flatten metodi.

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

  • Crea un percorso e aggiunge un rettangolo al percorso.

  • Disegna il rettangolo sullo schermo in nero.

  • Altera il percorso con una modalità prospettica.

  • Disegna il rettangolo distorto (percorso) sullo schermo in rosso.

private void WarpExample(PaintEventArgs e)
{

    // Create a path and add a rectangle.
    GraphicsPath myPath = new GraphicsPath();
    RectangleF srcRect = new RectangleF(0, 0, 100, 200);
    myPath.AddRectangle(srcRect);

    // Draw the source path (rectangle)to the screen.
    e.Graphics.DrawPath(Pens.Black, myPath);

    // Create a destination for the warped rectangle.
    PointF point1 = new PointF(200, 200);
    PointF point2 = new PointF(400, 250);
    PointF point3 = new PointF(220, 400);
    PointF[] destPoints = {point1, point2, point3};

    // Create a translation matrix.
    Matrix translateMatrix = new Matrix();
    translateMatrix.Translate(100, 0);

    // Warp the source path (rectangle).
    myPath.Warp(destPoints, srcRect, translateMatrix,
        WarpMode.Perspective, 0.5f);

    // Draw the warped path (rectangle) to the screen.
    e.Graphics.DrawPath(new Pen(Color.Red), myPath);
}

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