Udostępnij za pośrednictwem


GraphicsPath.Flatten Metoda

Definicja

Konwertuje każdą krzywą w tej ścieżce na sekwencję połączonych segmentów linii.

Przeciążenia

Flatten()

Konwertuje każdą krzywą w tej ścieżce na sekwencję połączonych segmentów linii.

Flatten(Matrix)

Stosuje określoną transformację, a następnie konwertuje każdą krzywą w tej GraphicsPath na sekwencję połączonych segmentów linii.

Flatten(Matrix, Single)

Konwertuje każdą krzywą w tym GraphicsPath na sekwencję połączonych segmentów linii.

Flatten()

Ź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

Konwertuje każdą krzywą w tej ścieżce na sekwencję połączonych segmentów linii.

public:
 void Flatten();
public void Flatten ();
member this.Flatten : unit -> unit
Public Sub Flatten ()

Przykłady

Aby zapoznać się z przykładem, zobacz Flatten(Matrix, Single).

Dotyczy

Flatten(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 określoną transformację, a następnie konwertuje każdą krzywą w tej GraphicsPath na sekwencję połączonych segmentów linii.

public:
 void Flatten(System::Drawing::Drawing2D::Matrix ^ matrix);
public void Flatten (System.Drawing.Drawing2D.Matrix? matrix);
public void Flatten (System.Drawing.Drawing2D.Matrix matrix);
member this.Flatten : System.Drawing.Drawing2D.Matrix -> unit
Public Sub Flatten (matrix As Matrix)

Parametry

matrix
Matrix

Matrix, przez które należy przekształcić tę GraphicsPath przed spłaszczaniem.

Przykłady

Aby zapoznać się z przykładem, zobacz Flatten(Matrix, Single).

Dotyczy

Flatten(Matrix, 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

Konwertuje każdą krzywą w tym GraphicsPath na sekwencję połączonych segmentów linii.

public:
 void Flatten(System::Drawing::Drawing2D::Matrix ^ matrix, float flatness);
public void Flatten (System.Drawing.Drawing2D.Matrix? matrix, float flatness);
public void Flatten (System.Drawing.Drawing2D.Matrix matrix, float flatness);
member this.Flatten : System.Drawing.Drawing2D.Matrix * single -> unit
Public Sub Flatten (matrix As Matrix, flatness As Single)

Parametry

matrix
Matrix

Matrix, przez które należy przekształcić tę GraphicsPath przed spłaszczaniem.

flatness
Single

Określa maksymalny dozwolony błąd między krzywą a spłaszczonym przybliżeniem. Wartość 0,25 jest wartością domyślną. Zmniejszenie wartości płaskości spowoduje zwiększenie liczby segmentów wierszy w przybliżeniu.

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ę grafiki i macierz tłumaczenia.

  • Dodaje krzywą do ścieżki przy użyciu czterech punktów.

  • Rysuje ścieżkę (krzywą) na ekranie przy użyciu czarnego pióra.

  • Przesuwa krzywą w dół o 10 pikseli i spłaszcza ją.

  • Rysuje krzywą do ekranu, używając czerwonego pióra.

Zwróć uwagę, że czerwona krzywa ma spłaszczone linie łączące punkty.

private:
   void FlattenExample( PaintEventArgs^ e )
   {
      GraphicsPath^ myPath = gcnew GraphicsPath;
      Matrix^ translateMatrix = gcnew Matrix;
      translateMatrix->Translate( 0, 10 );
      Point point1 = Point(20,100);
      Point point2 = Point(70,10);
      Point point3 = Point(130,200);
      Point point4 = Point(180,100);
      array<Point>^ points = {point1,point2,point3,point4};
      myPath->AddCurve( points );
      e->Graphics->DrawPath( gcnew Pen( Color::Black,2.0f ), myPath );
      myPath->Flatten( translateMatrix, 10.0f );
      e->Graphics->DrawPath( gcnew Pen( Color::Red,1.0f ), myPath );
   }
private void FlattenExample(PaintEventArgs e)
{
    GraphicsPath myPath = new GraphicsPath();
    Matrix translateMatrix = new Matrix();
    translateMatrix.Translate(0, 10);
    Point point1 = new Point(20, 100);
    Point point2 = new Point(70, 10);
    Point point3 = new Point(130, 200);
    Point point4 = new Point(180, 100);
    Point[] points = {point1, point2, point3, point4};
    myPath.AddCurve(points);
    e.Graphics.DrawPath(new Pen(Color.Black, 2), myPath);
    myPath.Flatten(translateMatrix, 10f);
    e.Graphics.DrawPath(new Pen(Color.Red, 1), myPath);
}
Public Sub FlattenExample(ByVal e As PaintEventArgs)
    Dim myPath As New GraphicsPath
    Dim translateMatrix As New Matrix
    translateMatrix.Translate(0, 10)
    Dim point1 As New Point(20, 100)
    Dim point2 As New Point(70, 10)
    Dim point3 As New Point(130, 200)
    Dim point4 As New Point(180, 100)
    Dim points As Point() = {point1, point2, point3, point4}
    myPath.AddCurve(points)
    e.Graphics.DrawPath(New Pen(Color.Black, 2), myPath)
    myPath.Flatten(translateMatrix, 10.0F)
    e.Graphics.DrawPath(New Pen(Color.Red, 1), myPath)
End Sub
'FlattenExample

Dotyczy