GraphicsPath.Warp 方法

重载

 Warp(PointF[], RectangleF) 对此 GraphicsPath 应用由一个矩形和一个平行四边形定义的扭曲变换。Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. Warp(PointF[], RectangleF, Matrix) 对此 GraphicsPath 应用由一个矩形和一个平行四边形定义的扭曲变换。Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. Warp(PointF[], RectangleF, Matrix, WarpMode) 对此 GraphicsPath 应用由一个矩形和一个平行四边形定义的扭曲变换。Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath. Warp(PointF[], RectangleF, Matrix, WarpMode, Single) 对此 GraphicsPath 应用由一个矩形和一个平行四边形定义的扭曲变换。Applies a warp transform, defined by a rectangle and a parallelogram, to this GraphicsPath.

Warp(PointF[], RectangleF)

``````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)``

destPoints
PointF[]

srcRect
RectangleF

示例

For an example, see Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Warp(PointF[], RectangleF, Matrix)

``````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``
``Public Sub Warp (destPoints As PointF(), srcRect As RectangleF, matrix As Matrix)``

destPoints
PointF[]

srcRect
RectangleF

matrix
Matrix

示例

For an example, see Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

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

``````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``
``Public Sub Warp (destPoints As PointF(), srcRect As RectangleF, matrix As Matrix, warpMode As WarpMode)``

destPoints
PointF[]

srcRect
RectangleF

matrix
Matrix

warpMode
WarpMode

示例

For an example, see Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

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

``````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``
``Public Sub Warp (destPoints As PointF(), srcRect As RectangleF, matrix As Matrix, warpMode As WarpMode, flatness As Single)``

destPoints
PointF[]

srcRect
RectangleF

matrix
Matrix

warpMode
WarpMode

flatness
Single

示例

• 创建一个路径并将一个矩形添加到该路径。Creates a path and adds a rectangle to the path.

• 将该矩形绘制为黑色。Draws that rectangle to the screen in black.

• 使用透视变形个 warp 路径。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);

// 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);

// 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)

' 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
``````