GraphicsPath.Flatten Metoda

Definicja

Konwertuje każdą krzywą w tej ścieżce na sekwencję segmentów połączonej linii.Converts each curve in this path into a sequence of connected line segments.

Przeciążenia

Flatten()

Konwertuje każdą krzywą w tej ścieżce na sekwencję segmentów połączonej linii.Converts each curve in this path into a sequence of connected line segments.

Flatten(Matrix)

Stosuje określone przekształcenie, a następnie konwertuje każdą krzywą w ten GraphicsPath sposób na sekwencję połączonych segmentów linii.Applies the specified transform and then converts each curve in this GraphicsPath into a sequence of connected line segments.

Flatten(Matrix, Single)

Konwertuje każdą krzywą w ten GraphicsPath sposób na sekwencję segmentów połączonej linii.Converts each curve in this GraphicsPath into a sequence of connected line segments.

Flatten()

Konwertuje każdą krzywą w tej ścieżce na sekwencję segmentów połączonej linii.Converts each curve in this path into a sequence of connected line segments.

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) .For an example, see Flatten(Matrix, Single).

Dotyczy

Flatten(Matrix)

Stosuje określone przekształcenie, a następnie konwertuje każdą krzywą w ten GraphicsPath sposób na sekwencję połączonych segmentów linii.Applies the specified transform and then converts each curve in this GraphicsPath into a sequence of connected line segments.

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

A Matrix , przez który należy przekształcić ten element GraphicsPath przed spłaszczeniem.A Matrix by which to transform this GraphicsPath before flattening.

Przykłady

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

Dotyczy

Flatten(Matrix, Single)

Konwertuje każdą krzywą w ten GraphicsPath sposób na sekwencję segmentów połączonej linii.Converts each curve in this GraphicsPath into a sequence of connected line segments.

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

A Matrix , przez który należy przekształcić ten element GraphicsPath przed spłaszczeniem.A Matrix by which to transform this GraphicsPath before flattening.

flatness
Single

Określa maksymalny dozwolony błąd między krzywą i jego spłaszczoną harmonizacją.Specifies the maximum permitted error between the curve and its flattened approximation. Wartość domyślna to 0,25.A value of 0.25 is the default. Zmniejszenie wartości zryczałtowanej spowoduje zwiększenie liczby segmentów linii w przybliżeniu.Reducing the flatness value will increase the number of line segments in the approximation.

Przykłady

Poniższy przykład kodu jest przeznaczony do użytku z Windows Forms i wymaga PaintEventArgs e OnPaint obiektu zdarzenia.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Kod wykonuje następujące czynności:The code performs the following actions:

  • Tworzy ścieżkę graficzną i tablicę translacji.Creates a graphics path and a translation matrix.

  • Dodaje krzywą do ścieżki przy użyciu czterech punktów.Adds a curve to the path using four points.

  • Rysuje ścieżkę (krzywą) na ekranie przy użyciu czarnego pióra.Draws the path (curve) to the screen, using a black pen.

  • Przesuwa krzywą w dół o 10 pikseli i spłaszcza ją.Shifts the curve down 10 pixels and flattens it.

  • Rysuje krzywą na ekranie przy użyciu czerwonego pióra.Draws the curve to the screen using, a red pen.

Zwróć uwagę, że Czerwona krzywa zawiera spłaszczone linie łączące punkty.Notice that the red curve has flattened lines connecting the points.

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