GraphicsPath.Warp Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.
Overloads
Warp(PointF[], RectangleF) |
Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. |
Warp(PointF[], RectangleF, Matrix) |
Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. |
Warp(PointF[], RectangleF, Matrix, WarpMode) |
Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. |
Warp(PointF[], RectangleF, Matrix, WarpMode, Single) |
Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. |
Warp(ReadOnlySpan<PointF>, RectangleF, Matrix, WarpMode, Single) |
Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. |
Warp(PointF[], RectangleF)
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
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)
Parameters
- destPoints
- PointF[]
An array of PointF structures that define a parallelogram to which the rectangle defined by srcRect
is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.
- srcRect
- RectangleF
A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints
.
Examples
For an example, see Warp(PointF[], RectangleF, Matrix, WarpMode, Single).
Applies to
Warp(PointF[], RectangleF, Matrix)
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
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);
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)
Parameters
- destPoints
- PointF[]
An array of PointF structures that define a parallelogram to which the rectangle defined by srcRect
is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.
- srcRect
- RectangleF
A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints
.
Examples
For an example, see Warp(PointF[], RectangleF, Matrix, WarpMode, Single).
Applies to
Warp(PointF[], RectangleF, Matrix, WarpMode)
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
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);
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)
Parameters
- destPoints
- PointF[]
An array of PointF structures that defines a parallelogram to which the rectangle defined by srcRect
is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.
- srcRect
- RectangleF
A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints
.
- warpMode
- WarpMode
A WarpMode enumeration that specifies whether this warp operation uses perspective or bilinear mode.
Examples
For an example, see Warp(PointF[], RectangleF, Matrix, WarpMode, Single).
Applies to
Warp(PointF[], RectangleF, Matrix, WarpMode, Single)
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
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);
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)
Parameters
- destPoints
- PointF[]
An array of PointF structures that define a parallelogram to which the rectangle defined by srcRect
is transformed. The array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.
- srcRect
- RectangleF
A RectangleF that represents the rectangle that is transformed to the parallelogram defined by destPoints
.
- warpMode
- WarpMode
A WarpMode enumeration that specifies whether this warp operation uses perspective or bilinear mode.
- flatness
- Single
A value from 0 through 1 that specifies how flat the resulting path is. For more information, see the Flatten() methods.
Examples
The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e
, an OnPaint event object. The code performs the following actions:
Creates a path and adds a rectangle to the path.
Draws that rectangle to the screen in black.
Warps the path with a perspective warp.
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
Applies to
Warp(ReadOnlySpan<PointF>, RectangleF, Matrix, WarpMode, Single)
- Source:
- GraphicsPath.cs
Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.
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)
Parameters
- destPoints
- ReadOnlySpan<PointF>
An array of points that define a parallelogram to which the rectangle defined by srcRect
is transformed.
- srcRect
- RectangleF
A rectangle that represents the rectangle that is transformed to the parallelogram defined by destPoints
.
- matrix
- Matrix
A matrix that specifies a geometric transform to apply to the path.
- warpMode
- WarpMode
Specifies whether this warp operation uses perspective or bilinear mode.
- flatness
- Single
A value from 0 through 1 that specifies how flat the resulting path is. For more information, see the Flatten(Matrix, Single) methods.
Remarks
For destPoints
, the array can contain either three or four elements. If the array contains three elements, the lower-right corner of the parallelogram is implied by the first three points.