Поделиться через


GraphicsPath.Warp Метод

Определение

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому GraphicsPath.

Перегрузки

Warp(PointF[], RectangleF)

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому GraphicsPath.

Warp(PointF[], RectangleF, Matrix)

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому GraphicsPath.

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

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому GraphicsPath.

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

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому GraphicsPath.

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

Warp(PointF[], RectangleF)

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому 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)

Параметры

destPoints
PointF[]

Массив структур PointF, определяющий параллелограмму, в которую преобразуется прямоугольник, определенный srcRect. Массив может содержать три или четыре элемента. Если массив содержит три элемента, правый нижний угол параллелограммы подразумевается первым тремя точками.

srcRect
RectangleF

RectangleF, представляющий прямоугольник, который преобразуется в параллелограмму, определяемую destPoints.

Примеры

Пример см. в разделе Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Применяется к

Warp(PointF[], RectangleF, Matrix)

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому 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)

Параметры

destPoints
PointF[]

Массив структур PointF, определяющий параллелограмму, в которую преобразуется прямоугольник, определенный srcRect. Массив может содержать три или четыре элемента. Если массив содержит три элемента, правый нижний угол параллелограммы подразумевается первым тремя точками.

srcRect
RectangleF

RectangleF, представляющий прямоугольник, который преобразуется в параллелограмму, определяемую destPoints.

matrix
Matrix

Matrix, указывающий геометрическое преобразование для применения к пути.

Примеры

Пример см. в разделе Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Применяется к

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

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому 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)

Параметры

destPoints
PointF[]

Массив структур PointF, определяющий параллелограмму, в которую преобразуется прямоугольник, определенный srcRect. Массив может содержать три или четыре элемента. Если массив содержит три элемента, правый нижний угол параллелограммы подразумевается первым тремя точками.

srcRect
RectangleF

RectangleF, представляющий прямоугольник, который преобразуется в параллелограмму, определяемую destPoints.

matrix
Matrix

Matrix, указывающий геометрическое преобразование для применения к пути.

warpMode
WarpMode

Перечисление WarpMode, указывающее, использует ли эта операция warp перспективу или двулинейный режим.

Примеры

Пример см. в разделе Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Применяется к

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

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

Применяет преобразование warp, определенное прямоугольником и параллелограммой, к этому 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)

Параметры

destPoints
PointF[]

Массив структур PointF, определяющий параллелограмму, в которую преобразуется прямоугольник, определенный srcRect. Массив может содержать три или четыре элемента. Если массив содержит три элемента, правый нижний угол параллелограммы подразумевается первым тремя точками.

srcRect
RectangleF

RectangleF, представляющий прямоугольник, который преобразуется в параллелограмму, определяемую destPoints.

matrix
Matrix

Matrix, указывающий геометрическое преобразование для применения к пути.

warpMode
WarpMode

Перечисление WarpMode, указывающее, использует ли эта операция warp перспективу или двулинейный режим.

flatness
Single

Значение от 0 до 1, указывающее, как неструктурированный результирующий путь. Дополнительные сведения см. в Flatten() методах.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgseобъекта события OnPaint. Код выполняет следующие действия:

  • Создает путь и добавляет прямоугольник в путь.

  • Рисует прямоугольник на экран в черном цвете.

  • Warps путь с точки зрения warp.

  • Рисует перемежаемый прямоугольник (путь) на экран красным цветом.

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

Применяется к

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

Исходный код:
GraphicsPath.cs
Исходный код:
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)

Параметры

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

Применяется к