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ślone przekształcenie, a następnie konwertuje każdą krzywą w tej GraphicsPath kolejności 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

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

Stosuje określone przekształcenie, a następnie konwertuje każdą krzywą w tej GraphicsPath kolejności 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

Element Matrix , za pomocą którego należy to GraphicsPath przekształcić przed spłaszczeniem.

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

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

Element Matrix , za pomocą którego należy to GraphicsPath przekształcić przed spłaszczeniem.

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żytku z Windows Forms i wymaga PaintEventArgseobiektu OnPaint zdarzenia . 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ą) do ekranu, używając 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