GraphicsPath.Flatten 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此路径中的各段曲线转换成相连的线段序列。
重载
Flatten() |
将此路径中的各段曲线转换成相连的线段序列。 |
Flatten(Matrix) |
应用指定的变换,然后将此 GraphicsPath 中的各段曲线转换成相连的线段的序列。 |
Flatten(Matrix, Single) |
将此 GraphicsPath 中的各段曲线转换成相连的线段序列。 |
Flatten()
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
将此路径中的各段曲线转换成相连的线段序列。
public:
void Flatten();
public void Flatten ();
member this.Flatten : unit -> unit
Public Sub Flatten ()
示例
有关示例,请参见 Flatten(Matrix, Single)。
适用于
Flatten(Matrix)
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
- Source:
- 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)
- Source:
- GraphicsPath.cs
- Source:
- GraphicsPath.cs
- Source:
- 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 窗体,它需要 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
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈