GraphicsPath.Warp Método

Definición

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.

Sobrecargas

Warp(PointF[], RectangleF)

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.

Warp(PointF[], RectangleF, Matrix)

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.

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

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.

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

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.

Warp(PointF[], RectangleF)

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this 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 estructuras PointF que definen un paralelogramo en que se transforma el rectángulo definido por srcRect.An array of PointF structures that define a parallelogram to which the rectangle defined by srcRect is transformed. La matriz puede contener tres elementos o cuatro.The array can contain either three or four elements. Si la matriz contiene tres elementos, el ángulo inferior derecho del paralelogramo viene definido por los tres primeros puntos.If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.

srcRect
RectangleF

RectangleF que representa el rectángulo que se transforma en el paralelogramo definido por destPoints.A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints.

Ejemplos

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

Warp(PointF[], RectangleF, Matrix)

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this 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);
member this.Warp : System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix -> unit

Parámetros

destPoints
PointF[]

Matriz de estructuras PointF que definen un paralelogramo en que se transforma el rectángulo definido por srcRect.An array of PointF structures that define a parallelogram to which the rectangle defined by srcRect is transformed. La matriz puede contener tres elementos o cuatro.The array can contain either three or four elements. Si la matriz contiene tres elementos, el ángulo inferior derecho del paralelogramo viene definido por los tres primeros puntos.If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.

srcRect
RectangleF

RectangleF que representa el rectángulo que se transforma en el paralelogramo definido por destPoints.A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints.

matrix
Matrix

Matrix que especifica la transformación geométrica que se va a aplicar al trazado.A Matrix that specifies a geometric transform to apply to the path.

Ejemplos

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

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

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this 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);
member this.Warp : System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.WarpMode -> unit

Parámetros

destPoints
PointF[]

Matriz de estructuras PointF que define un paralelogramo en que se transforma el rectángulo definido por srcRect.An array of PointF structures that defines a parallelogram to which the rectangle defined by srcRect is transformed. La matriz puede contener tres elementos o cuatro.The array can contain either three or four elements. Si la matriz contiene tres elementos, el ángulo inferior derecho del paralelogramo viene definido por los tres primeros puntos.If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.

srcRect
RectangleF

RectangleF que representa el rectángulo que se transforma en el paralelogramo definido por destPoints.A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints.

matrix
Matrix

Matrix que especifica la transformación geométrica que se va a aplicar al trazado.A Matrix that specifies a geometric transform to apply to the path.

warpMode
WarpMode

Enumeración WarpMode que especifica si esta operación de alabeo usa el modo en perspectiva o bilineal.A WarpMode enumeration that specifies whether this warp operation uses perspective or bilinear mode.

Ejemplos

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

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

Aplica una transformación de alabeo, definida por un rectángulo y un paralelogramo, a este trazado GraphicsPath.Applies a warp transform, defined by a rectangle and a parallelogram, to this 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);
member this.Warp : System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.WarpMode * single -> unit

Parámetros

destPoints
PointF[]

Matriz de estructuras PointF que definen un paralelogramo en que se transforma el rectángulo definido por srcRect.An array of PointF structures that define a parallelogram to which the rectangle defined by srcRect is transformed. La matriz puede contener tres elementos o cuatro.The array can contain either three or four elements. Si la matriz contiene tres elementos, el ángulo inferior derecho del paralelogramo viene definido por los tres primeros puntos.If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.

srcRect
RectangleF

RectangleF que representa el rectángulo que se transforma en el paralelogramo definido por destPoints.A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints.

matrix
Matrix

Matrix que especifica la transformación geométrica que se va a aplicar al trazado.A Matrix that specifies a geometric transform to apply to the path.

warpMode
WarpMode

Enumeración WarpMode que especifica si esta operación de alabeo usa el modo en perspectiva o bilineal.A WarpMode enumeration that specifies whether this warp operation uses perspective or bilinear mode.

flatness
Single

Valor de 0 a 1 que especifica cómo es de plano el trazado resultante.A value from 0 through 1 that specifies how flat the resulting path is. Para obtener más información, vea los métodos Flatten().For more information, see the Flatten() methods.

Ejemplos

El siguiente ejemplo de código está diseñado para su uso con Windows Forms y requiere PaintEventArgse, un objeto de evento de OnPaint.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. El código realiza las siguientes acciones:The code performs the following actions:

  • Crea una ruta de acceso y agrega un rectángulo a la ruta de acceso.Creates a path and adds a rectangle to the path.

  • Dibuja ese rectángulo en la pantalla en negro.Draws that rectangle to the screen in black.

  • Distorsiona la ruta de acceso con un alabeo en perspectiva.Warps the path with a perspective warp.

  • Dibuja el rectángulo detorcido (trazado) en la pantalla en rojo.Draws the warped rectangle (path) to the screen in red.

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