准备工作,WPF的界面这里就不涉及了,完全是代码工作。

首先,我们要做图必须有个容器,如果你要画画必须有纸张一样。这里我们声明一个Canvas作为容器。

代码如下:

 

总的来说画直线有三种方法:

1。使用LineGeometry,实例代码如下

这个很简单,就不多作解释了。

2。使用 LineSegment

我们使用LineSegment时,因为它不是geometry的扩展类,所以需要一个包装:PathGeometry才能将它付给path坐Data进而呈现在Canvas上。但是麻烦的是PathGeometry不能直接包容segment,它所包容的是PathFigure,所以我们还需一个中间层。msdn的解释是:

PathGeometry 使用的语法比简单的 LineGeometry 使用的语法要详细得多,在本例中使用 LineGeometry 类可能更有效,但是使用 PathGeometry 的详细语法可以创建极其复杂的几何区域。也就是说使用PathGeometry可以轻松构建更复杂的图形。

代码如下:

 

3。比较常用的一种方法,用于绘制连续的线段:StreamGeometry 。它与 PathGeometry 类类似,StreamGeometry 定义一个可以包含曲线、弧线和直线的复杂几何形状。与 PathGeometry 不同,StreamGeometry 的内容不支持数据绑定、动画或修改。当您需要描绘复杂的几何图形,但不希望因为支持数据绑定、动画或修改而引入系统开销时,可使用 StreamGeometry。由于它的高效,StreamGeometry 类是描绘装饰物的理想选择。

实例代码如下:

 

好了方法说完了。以下是我做的一个练习,效果如图。

 WPF效果图

 

代码如下:

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐