Bagikan melalui


GraphicsPath.Warp Metode

Definisi

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

Overload

Warp(PointF[], RectangleF)

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

Warp(PointF[], RectangleF, Matrix)

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

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

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

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

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

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

Warp(PointF[], RectangleF)

Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

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)

Parameter

destPoints
PointF[]

Array struktur PointF yang menentukan parallelogram tempat persegi panjang yang ditentukan oleh srcRect diubah. Array dapat berisi tiga atau empat elemen. Jika array berisi tiga elemen, sudut kanan bawah parallelogram disiratkan oleh tiga poin pertama.

srcRect
RectangleF

RectangleF yang mewakili persegi panjang yang diubah ke parallelogram yang ditentukan oleh destPoints.

Contoh

Misalnya, lihat Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Berlaku untuk

Warp(PointF[], RectangleF, Matrix)

Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

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)

Parameter

destPoints
PointF[]

Array struktur PointF yang menentukan parallelogram tempat persegi panjang yang ditentukan oleh srcRect diubah. Array dapat berisi tiga atau empat elemen. Jika array berisi tiga elemen, sudut kanan bawah parallelogram disiratkan oleh tiga poin pertama.

srcRect
RectangleF

RectangleF yang mewakili persegi panjang yang diubah ke parallelogram yang ditentukan oleh destPoints.

matrix
Matrix

Matrix yang menentukan transformasi geometrik untuk diterapkan ke jalur.

Contoh

Misalnya, lihat Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Berlaku untuk

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

Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

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)

Parameter

destPoints
PointF[]

Array struktur PointF yang menentukan parallelogram tempat persegi panjang yang ditentukan oleh srcRect diubah. Array dapat berisi tiga atau empat elemen. Jika array berisi tiga elemen, sudut kanan bawah parallelogram disiratkan oleh tiga poin pertama.

srcRect
RectangleF

RectangleF yang mewakili persegi panjang yang diubah ke parallelogram yang ditentukan oleh destPoints.

matrix
Matrix

Matrix yang menentukan transformasi geometrik untuk diterapkan ke jalur.

warpMode
WarpMode

Enumerasi WarpMode yang menentukan apakah operasi warp ini menggunakan mode perspektif atau bilinear.

Contoh

Misalnya, lihat Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Berlaku untuk

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

Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs
Sumber:
GraphicsPath.cs

Menerapkan transformasi warp, yang didefinisikan oleh persegi panjang dan parallelogram, ke GraphicsPathini.

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)

Parameter

destPoints
PointF[]

Array struktur PointF yang menentukan parallelogram tempat persegi panjang yang ditentukan oleh srcRect diubah. Array dapat berisi tiga atau empat elemen. Jika array berisi tiga elemen, sudut kanan bawah parallelogram disiratkan oleh tiga poin pertama.

srcRect
RectangleF

RectangleF yang mewakili persegi panjang yang diubah ke parallelogram yang ditentukan oleh destPoints.

matrix
Matrix

Matrix yang menentukan transformasi geometrik untuk diterapkan ke jalur.

warpMode
WarpMode

Enumerasi WarpMode yang menentukan apakah operasi warp ini menggunakan mode perspektif atau bilinear.

flatness
Single

Nilai dari 0 hingga 1 yang menentukan seberapa datar jalur yang dihasilkan. Untuk informasi selengkapnya, lihat metode Flatten().

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, objek peristiwa OnPaint. Kode melakukan tindakan berikut:

  • Membuat jalur dan menambahkan persegi panjang ke jalur.

  • Gambar persegi panjang itu ke layar dengan warna hitam.

  • Warps jalur dengan warp perspektif.

  • Menggambar persegi panjang melengkung (jalur) ke layar dengan warna merah.

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

Berlaku untuk

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

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

Parameter

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

Berlaku untuk