WPF几何绘图(一)画直线

原创 2009年02月26日 11:40:00

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

 

代码如下:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Hdu 4617 Weapon (三维计算几何 异面直线距离)

2013多校联合集训第二场的一道题。 题意:给出一个无限长圆柱截面上的圆心和两点,求是否有圆柱相交,若不相交,则输出圆柱间最小距离。 思路:利用圆心和另外两点确定截面法向量,求异面直线距离。测试数...

在unity向量空间内绘制几何(4): 利用平面几何知识画像素直线。

这两年像素很火,《我的世界》也要进入国内了。假如有一个像素平面,既是一个格子平面,给出任意两个格子的坐标,如何生成一条直线。接下来,尝试在平面几何的角度下思考并解决这个问题。已知两个点A,B。不论这两...

直线绘图工具

  • 2012-04-10 19:59
  • 714KB
  • 下载

绘图直线C++编码

HYSBZ/BZOJ 1007 [HNOI2008] 水平可见直线 - 计算几何

题目描述分析: 直角坐标系内,有n条直线分布,求:最大值(对于任意x,直线上能取到的max( f(x) ))构成的折线由哪些直线构成。Solution : 把直线按照斜率从小到大排序。 从左到右...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)