Compartir a través de


GraphicsPath.Warp Método

Definición

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este GraphicsPath.

Sobrecargas

Warp(PointF[], RectangleF)

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este GraphicsPath.

Warp(PointF[], RectangleF, Matrix)

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este GraphicsPath.

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

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este GraphicsPath.

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

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este GraphicsPath.

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

Warp(PointF[], RectangleF)

Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este 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)

Parámetros

destPoints
PointF[]

Matriz de PointF estructuras que definen un paralelismo al que se transforma el rectángulo definido por srcRect. La matriz puede contener tres o cuatro elementos. Si la matriz contiene tres elementos, la esquina inferior derecha del paralelismo está implícita en los tres primeros puntos.

srcRect
RectangleF

Un RectangleF que representa el rectángulo que se transforma en el paralelgrama definido por destPoints.

Ejemplos

Para obtener un ejemplo, vea Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Se aplica a

Warp(PointF[], RectangleF, Matrix)

Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este 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)

Parámetros

destPoints
PointF[]

Matriz de PointF estructuras que definen un paralelismo al que se transforma el rectángulo definido por srcRect. La matriz puede contener tres o cuatro elementos. Si la matriz contiene tres elementos, la esquina inferior derecha del paralelismo está implícita en los tres primeros puntos.

srcRect
RectangleF

Un RectangleF que representa el rectángulo que se transforma en el paralelgrama definido por destPoints.

matrix
Matrix

Un Matrix que especifica una transformación geométrica que se va a aplicar al trazado.

Ejemplos

Para obtener un ejemplo, vea Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Se aplica a

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

Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este 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)

Parámetros

destPoints
PointF[]

Matriz de PointF estructuras que definen un paralelgrama al que se transforma el rectángulo definido por srcRect. La matriz puede contener tres o cuatro elementos. Si la matriz contiene tres elementos, la esquina inferior derecha del paralelismo está implícita en los tres primeros puntos.

srcRect
RectangleF

Un RectangleF que representa el rectángulo que se transforma en el paralelgrama definido por destPoints.

matrix
Matrix

Un Matrix que especifica una transformación geométrica que se va a aplicar al trazado.

warpMode
WarpMode

Enumeración WarpMode que especifica si esta operación warp usa perspectiva o modo bilineal.

Ejemplos

Para obtener un ejemplo, vea Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Se aplica a

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

Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs
Source:
GraphicsPath.cs

Aplica una transformación de warp, definida por un rectángulo y un paralelismo, a este 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)

Parámetros

destPoints
PointF[]

Matriz de PointF estructuras que definen un paralelismo al que se transforma el rectángulo definido por srcRect. La matriz puede contener tres o cuatro elementos. Si la matriz contiene tres elementos, la esquina inferior derecha del paralelismo está implícita en los tres primeros puntos.

srcRect
RectangleF

Un RectangleF que representa el rectángulo que se transforma en el paralelgrama definido por destPoints.

matrix
Matrix

Un Matrix que especifica una transformación geométrica que se va a aplicar al trazado.

warpMode
WarpMode

Enumeración WarpMode que especifica si esta operación warp usa perspectiva o modo bilineal.

flatness
Single

Valor comprendido entre 0 y 1 que especifica cómo es plana la ruta de acceso resultante. Para obtener más información, consulte los métodos de Flatten().

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, un objeto de evento OnPaint. El código realiza las siguientes acciones:

  • Crea una ruta de acceso y agrega un rectángulo a la ruta de acceso.

  • Dibuja ese rectángulo en la pantalla en negro.

  • Advierte la ruta de acceso con una advertencia de perspectiva.

  • Dibuja el rectángulo warped (ruta) en la pantalla en rojo.

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

Se aplica a

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

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

Parámetros

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

Se aplica a