GraphicsPath.Flatten Метод

Определение

Преобразует каждую кривую в данном контуре в последовательность соединенных отрезков прямых.

Перегрузки

Flatten()

Преобразует каждую кривую в данном контуре в последовательность соединенных отрезков прямых.

Flatten(Matrix)

Применяет указанное преобразование, а затем преобразует каждую кривую в данном объекте GraphicsPath в последовательность соединенных отрезков прямых.

Flatten(Matrix, Single)

Преобразует каждую кривую в этом объекте GraphicsPath в последовательность соединенных отрезков прямых.

Flatten()

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

Преобразует каждую кривую в данном контуре в последовательность соединенных отрезков прямых.

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

Примеры

Пример см. в разделе Flatten(Matrix, Single).

Применяется к

Flatten(Matrix)

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

Применяет указанное преобразование, а затем преобразует каждую кривую в данном объекте GraphicsPath в последовательность соединенных отрезков прямых.

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)

Параметры

matrix
Matrix

Объект Matrix, посредством которого необходимо преобразовать этот объект GraphicsPath перед выравниванием.

Примеры

Пример см. в разделе Flatten(Matrix, Single).

Применяется к

Flatten(Matrix, Single)

Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs
Исходный код:
GraphicsPath.cs

Преобразует каждую кривую в этом объекте GraphicsPath в последовательность соединенных отрезков прямых.

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)

Параметры

matrix
Matrix

Объект Matrix, посредством которого необходимо преобразовать этот объект GraphicsPath перед выравниванием.

flatness
Single

Указывает максимальное допустимое расхождение между кривой и ее выровненной аппроксимацией. Значение по умолчанию равно 0,25. Уменьшение значения выровненности увеличивает количество отрезков прямых в аппроксимации.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgseобъекта OnPaint события . Код выполняет следующие действия.

  • Создает графический путь и матрицу перевода.

  • Добавляет кривую к пути с использованием четырех точек.

  • Рисует путь (кривую) к экрану с помощью черного пера.

  • Сдвигает кривую вниз на 10 пикселей и преобразует ее в плоскую структуру.

  • Рисует кривую к экрану с помощью красного пера.

Обратите внимание, что красная кривая имеет плоские линии, соединяющие точки.

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

Применяется к