更新:2007 年 11 月
命名空间:
System.Windows.Media 程序集:
PresentationCore(在 PresentationCore.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation
Public NotInheritable Class BezierSegment _
Inherits PathSegment
Dim instance As BezierSegment
public sealed class BezierSegment : PathSegment
public ref class BezierSegment sealed : public PathSegment
public final class BezierSegment extends PathSegment
public final class BezierSegment extends PathSegment
使用 PathFigure 对象存储 BezierSegment 对象和其他线段。
一条三次贝塞尔曲线由四个点定义:一个起点、一个终点 (Point3) 和两个控制点(Point1 和 Point2)。BezierSegment 类不包含用于曲线起点的属性;它只定义终点。曲线的起点是 PathFigure 的当前点,向该点添加了 BezierSegment。
三次贝塞尔曲线的两个控制点的作用像磁铁一样,朝着自身的方向吸引本应为直线的部分,从而形成一条曲线。第一个控制点 Point1 影响曲线的开始部分;第二个控制点 Point2 影响曲线的结束部分。注意,曲线不一定必须通过两个控制点之一;每个控制点将直线的一部分朝着自己的方向移动,但不通过自身。
Freezable 功能
此示例演示如何创建三次方贝塞尔曲线。若要创建三次方贝塞尔曲线,请使用 PathGeometry、PathFigure 和 BezierSegment 类。 若要显示所生成的几何图形,请使用 Path 元素,或将该元素与 GeometryDrawing 或 DrawingContext 一起使用。在下面的示例中,从 (10, 100) 到 (300, 100) 绘制三次方贝塞尔曲线。该曲线的控制点为 (100, 0) 和 (200, 200)。
xaml在可扩展应用程序标记语言 (XAML) 中,可以使用缩写标记语法来描述路径。
<Path Stroke="Black" StrokeThickness="1"
Data="M 10,100 C 100,0 200,200 300,100" />
xaml在XAML 中,还可以使用对象标记来绘制三次方贝塞尔曲线。下面的示例与前面的 XAML 示例是等效的。
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure StartPoint="10,100">
<PathFigure.Segments>
<PathSegmentCollection>
<BezierSegment Point1="100,0" Point2="200,200" Point3="300,100" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
此示例摘自一个更大的示例;有关完整的示例,请参见几何图形示例。
更多代码
System..::.Object
System.Windows.Threading..::.DispatcherObject
System.Windows..::.DependencyObject
System.Windows..::.Freezable
System.Windows.Media.Animation..::.Animatable
System.Windows.Media..::.PathSegment
System.Windows.Media..::.BezierSegment
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
.NET Framework
受以下版本支持:3.5、3.0
参考
其他资源