GraphicsPath.Warp Metodo

Definizione

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

Overload

Warp(PointF[], RectangleF)

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

Warp(PointF[], RectangleF, Matrix)

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

Warp(PointF[], RectangleF, Matrix, WarpMode)

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

Warp(PointF[], RectangleF, Matrix, WarpMode, Single)

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

Warp(ReadOnlySpan<PointF>, RectangleF, Matrix, WarpMode, Single)

Warp(PointF[], RectangleF)

Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

public:
 void Warp(cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect);
public void Warp (System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect);
member this.Warp : System.Drawing.PointF[] * System.Drawing.RectangleF -> unit
Public Sub Warp (destPoints As PointF(), srcRect As RectangleF)

Parametri

destPoints
PointF[]

Matrice di strutture PointF che definiscono il parallelogramma in cui viene trasformato il rettangolo definito da srcRect. Tale matrice può contenere tre o quattro elementi. Se contiene tre elementi, l'angolo inferiore destro del parallelogramma viene derivato dai primi tre punti.

srcRect
RectangleF

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

Esempio

Per un esempio, vedere Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Si applica a

Warp(PointF[], RectangleF, Matrix)

Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

public:
 void Warp(cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::Drawing2D::Matrix ^ matrix);
public void Warp (System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.Drawing2D.Matrix matrix);
public void Warp (System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.Drawing2D.Matrix? matrix);
member this.Warp : System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix -> unit
Public Sub Warp (destPoints As PointF(), srcRect As RectangleF, matrix As Matrix)

Parametri

destPoints
PointF[]

Matrice di strutture PointF che definiscono il parallelogramma in cui viene trasformato il rettangolo definito da srcRect. Tale matrice può contenere tre o quattro elementi. Se contiene tre elementi, l'angolo inferiore destro del parallelogramma viene derivato dai primi tre punti.

srcRect
RectangleF

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

matrix
Matrix

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

Esempio

Per un esempio, vedere Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Si applica a

Warp(PointF[], RectangleF, Matrix, WarpMode)

Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

public:
 void Warp(cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::Drawing2D::Matrix ^ matrix, System::Drawing::Drawing2D::WarpMode warpMode);
public void Warp (System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Drawing2D.WarpMode warpMode);
public void Warp (System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.Drawing2D.Matrix? matrix, System.Drawing.Drawing2D.WarpMode warpMode);
member this.Warp : System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.WarpMode -> unit
Public Sub Warp (destPoints As PointF(), srcRect As RectangleF, matrix As Matrix, warpMode As WarpMode)

Parametri

destPoints
PointF[]

Matrice di strutture PointF che definisce il parallelogramma in cui viene trasformato il rettangolo definito da srcRect. Tale matrice può contenere tre o quattro elementi. Se contiene tre elementi, l'angolo inferiore destro del parallelogramma viene derivato dai primi tre punti.

srcRect
RectangleF

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

matrix
Matrix

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

warpMode
WarpMode

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

Esempio

Per un esempio, vedere Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Si applica a

Warp(PointF[], RectangleF, Matrix, WarpMode, Single)

Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica una trasformazione con distorsione definita da un rettangolo e da un parallelogramma a questa classe GraphicsPath.

public:
 void Warp(cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::Drawing2D::Matrix ^ matrix, System::Drawing::Drawing2D::WarpMode warpMode, float flatness);
public void Warp (System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Drawing2D.WarpMode warpMode, float flatness);
public void Warp (System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.Drawing2D.Matrix? matrix, System.Drawing.Drawing2D.WarpMode warpMode, float flatness);
member this.Warp : System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.WarpMode * single -> unit
Public Sub Warp (destPoints As PointF(), srcRect As RectangleF, matrix As Matrix, warpMode As WarpMode, flatness As Single)

Parametri

destPoints
PointF[]

Matrice di strutture PointF che definiscono il parallelogramma in cui viene trasformato il rettangolo definito da srcRect. Tale matrice può contenere tre o quattro elementi. Se contiene tre elementi, l'angolo inferiore destro del parallelogramma viene derivato dai primi tre punti.

srcRect
RectangleF

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

matrix
Matrix

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

warpMode
WarpMode

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

flatness
Single

Valore compreso tra 0 e 1 che specifica il livello di appiattimento del percorso risultante. Per ulteriori informazioni, vedere i metodi Flatten().

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, un OnPaint oggetto evento. Il codice esegue le azioni seguenti:

  • Crea un percorso e aggiunge un rettangolo al percorso.

  • Disegna il rettangolo sullo schermo in nero.

  • Si deforma il percorso con una distorsione prospettica.

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

private:
   void WarpExample( PaintEventArgs^ e )
   {
      // Create a path and add a rectangle.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      RectangleF srcRect = 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 = PointF(200,200);
      PointF point2 = PointF(400,250);
      PointF point3 = PointF(220,400);
      array<PointF>^ destPoints = {point1,point2,point3};

      // Create a translation matrix.
      Matrix^ translateMatrix = gcnew 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( gcnew Pen( Color::Red ), myPath );
   }
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);
}
Public Sub WarpExample(ByVal e As PaintEventArgs)

    ' Create a path and add a rectangle.
    Dim myPath As New GraphicsPath
    Dim srcRect As 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.
    Dim point1 As New PointF(200, 200)
    Dim point2 As New PointF(400, 250)
    Dim point3 As New PointF(220, 400)
    Dim destPoints As PointF() = {point1, point2, point3}

    ' Create a translation matrix.
    Dim translateMatrix As 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)
End Sub

Si applica a

Warp(ReadOnlySpan<PointF>, RectangleF, Matrix, WarpMode, Single)

Origine:
GraphicsPath.cs
public void Warp (ReadOnlySpan<System.Drawing.PointF> destPoints, System.Drawing.RectangleF srcRect, System.Drawing.Drawing2D.Matrix? matrix = default, System.Drawing.Drawing2D.WarpMode warpMode = System.Drawing.Drawing2D.WarpMode.Perspective, float flatness = 0.25);
member this.Warp : ReadOnlySpan<System.Drawing.PointF> * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.WarpMode * single -> unit
Public Sub Warp (destPoints As ReadOnlySpan(Of PointF), srcRect As RectangleF, Optional matrix As Matrix = Nothing, Optional warpMode As WarpMode = System.Drawing.Drawing2D.WarpMode.Perspective, Optional flatness As Single = 0.25)

Parametri

destPoints
ReadOnlySpan<PointF>
srcRect
RectangleF
matrix
Matrix
warpMode
WarpMode
flatness
Single

Si applica a