Condividi tramite


GraphicsPath.Warp Metodo

Definizione

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa GraphicsPath.

Overload

Warp(PointF[], RectangleF)

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa GraphicsPath.

Warp(PointF[], RectangleF, Matrix)

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa GraphicsPath.

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

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa GraphicsPath.

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

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa GraphicsPath.

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

Warp(PointF[], RectangleF)

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

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa 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 un parallelogramma a cui viene trasformato il rettangolo definito da srcRect. La matrice può contenere tre o quattro elementi. Se la matrice contiene tre elementi, l'angolo inferiore destro del parallelogramma è implicito nei primi tre punti.

srcRect
RectangleF

Oggetto 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
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa 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 un parallelogramma a cui viene trasformato il rettangolo definito da srcRect. La matrice può contenere tre o quattro elementi. Se la matrice contiene tre elementi, l'angolo inferiore destro del parallelogramma è implicito nei primi tre punti.

srcRect
RectangleF

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

matrix
Matrix

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

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
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa 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 un parallelogramma a cui viene trasformato il rettangolo definito da srcRect. La matrice può contenere tre o quattro elementi. Se la matrice contiene tre elementi, l'angolo inferiore destro del parallelogramma è implicito nei primi tre punti.

srcRect
RectangleF

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

matrix
Matrix

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

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
Origine:
GraphicsPath.cs
Origine:
GraphicsPath.cs

Applica una trasformazione di distorsione, definita da un rettangolo e da un parallelogramma, a questa 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 un parallelogramma a cui viene trasformato il rettangolo definito da srcRect. La matrice può contenere tre o quattro elementi. Se la matrice contiene tre elementi, l'angolo inferiore destro del parallelogramma è implicito nei primi tre punti.

srcRect
RectangleF

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

matrix
Matrix

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

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 modo in cui il percorso risultante è piatto. Per altre informazioni, vedere i metodi Flatten().

Esempio

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

  • Crea un percorso e aggiunge un rettangolo al percorso.

  • Disegna il rettangolo sullo schermo in nero.

  • Fa conflitto 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
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