关闭

WPF几何绘图(一)画直线

标签: wpfpathperformancejoin图形工作
21808人阅读 评论(7) 收藏 举报
分类:

准备工作,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效果图

 

代码如下:

1
0

猜你在找
【直播】机器学习&深度学习系统实战(唐宇迪)
【直播】Kaggle 神器:XGBoost 从基础到实战(冒教授)
【直播回放】深度学习基础与TensorFlow实践(王琛)
【直播】计算机视觉原理及实战(屈教授)
【直播】机器学习之凸优化(马博士)
【直播】机器学习之矩阵(黄博士)
【直播】机器学习之概率与统计推断(冒教授)
【直播】机器学习之数学基础
【直播】TensorFlow实战进阶(智亮)
【直播】深度学习30天系统实训(唐宇迪)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:307485次
    • 积分:3991
    • 等级:
    • 排名:第7602名
    • 原创:76篇
    • 转载:42篇
    • 译文:2篇
    • 评论:88条
    最新评论