Udostępnij za pośrednictwem


GraphicsPath.Warp Metoda

Definicja

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego GraphicsPath.

Przeciążenia

Warp(PointF[], RectangleF)

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego GraphicsPath.

Warp(PointF[], RectangleF, Matrix)

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego GraphicsPath.

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

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego GraphicsPath.

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

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego GraphicsPath.

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

Warp(PointF[], RectangleF)

Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego 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)

Parametry

destPoints
PointF[]

Tablica struktur PointF definiujących równoległy prostokąt zdefiniowany przez srcRect jest przekształcany. Tablica może zawierać trzy lub cztery elementy. Jeśli tablica zawiera trzy elementy, prawy dolny róg równoległości jest implikowany przez pierwsze trzy punkty.

srcRect
RectangleF

RectangleF reprezentujący prostokąt przekształcony w równoległyogram zdefiniowany przez destPoints.

Przykłady

Aby zapoznać się z przykładem, zobacz Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Dotyczy

Warp(PointF[], RectangleF, Matrix)

Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego 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)

Parametry

destPoints
PointF[]

Tablica struktur PointF definiujących równoległy prostokąt zdefiniowany przez srcRect jest przekształcany. Tablica może zawierać trzy lub cztery elementy. Jeśli tablica zawiera trzy elementy, prawy dolny róg równoległości jest implikowany przez pierwsze trzy punkty.

srcRect
RectangleF

RectangleF reprezentujący prostokąt przekształcony w równoległyogram zdefiniowany przez destPoints.

matrix
Matrix

Matrix, który określa transformację geometryczną, która ma być stosowana do ścieżki.

Przykłady

Aby zapoznać się z przykładem, zobacz Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Dotyczy

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

Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego 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)

Parametry

destPoints
PointF[]

Tablica struktur PointF definiujących równoległyogram, do którego jest przekształcany prostokąt zdefiniowany przez srcRect. Tablica może zawierać trzy lub cztery elementy. Jeśli tablica zawiera trzy elementy, prawy dolny róg równoległości jest implikowany przez pierwsze trzy punkty.

srcRect
RectangleF

RectangleF reprezentujący prostokąt przekształcony w równoległyogram zdefiniowany przez destPoints.

matrix
Matrix

Matrix, który określa transformację geometryczną, która ma być stosowana do ścieżki.

warpMode
WarpMode

Wyliczenie WarpMode określające, czy ta operacja warp używa trybu perspektywy lub dwuliniowego.

Przykłady

Aby zapoznać się z przykładem, zobacz Warp(PointF[], RectangleF, Matrix, WarpMode, Single).

Dotyczy

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

Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs
Źródło:
GraphicsPath.cs

Stosuje przekształcenie warp zdefiniowane przez prostokąt i równoległy do tego 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)

Parametry

destPoints
PointF[]

Tablica struktur PointF definiujących równoległy prostokąt zdefiniowany przez srcRect jest przekształcany. Tablica może zawierać trzy lub cztery elementy. Jeśli tablica zawiera trzy elementy, prawy dolny róg równoległości jest implikowany przez pierwsze trzy punkty.

srcRect
RectangleF

RectangleF reprezentujący prostokąt przekształcony w równoległyogram zdefiniowany przez destPoints.

matrix
Matrix

Matrix, który określa transformację geometryczną, która ma być stosowana do ścieżki.

warpMode
WarpMode

Wyliczenie WarpMode określające, czy ta operacja warp używa trybu perspektywy lub dwuliniowego.

flatness
Single

Wartość z zakresu od 0 do 1, która określa, jak płaska jest wynikowa ścieżka. Aby uzyskać więcej informacji, zobacz metody Flatten().

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, obiektu zdarzenia OnPaint. Kod wykonuje następujące akcje:

  • Tworzy ścieżkę i dodaje prostokąt do ścieżki.

  • Rysuje ten prostokąt na ekranie w kolorze czarnym.

  • Warps ścieżki z perspektywy warp.

  • Rysuje wypaczony prostokąt (ścieżka) do ekranu na czerwono.

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

Dotyczy

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

Źródło:
GraphicsPath.cs
Źródło:
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)

Parametry

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

Dotyczy