前面我们给大家介绍了LineGeometry,EllipseGeometry,CombinedGeometry等一些规则图形的使用方法,下面我们来看下如何使用PathGeometry来创建不规则图形
PathGeometry类:表示一个可能由弧、曲线、椭圆、直线和矩形组成的复杂形状。
下面先来看一段代码
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
Title ="Window1" Height ="300" Width ="300" >
< Canvas >
< Path Stroke ="DarkGray" StrokeThickness ="2" >
< Path.Data >
< PathGeometry >
< PathFigure StartPoint ="80,40" IsClosed ="False" >
< LineSegment Point ="160,40" ></ LineSegment >
< LineSegment Point ="200,100" ></ LineSegment >
< LineSegment Point ="80,100" ></ LineSegment >
< LineSegment Point ="80,40" ></ LineSegment >
</ PathFigure >
</ PathGeometry >
</ Path.Data >
</ Path >
</ Canvas >
</ Window >
执行结果是:
根据执行的结果,我们可以看到,程序画出了一个不等边的矩形,下面我们来分析一下,该图形是如何画出来了。
PathFigure类:表示几何图形的一个子部分、一系列单独连接的二维几何线段
首先我们看到在PathGeometry元素中我们添加了一个名为PathFigure的元素,它表示PathGeometry图形的一部分,一个PathGeometry图形可以包含一个或多个PathFigure。PathFigure有一个StartPoint属性,它表示该几何图形线段的起始位置
LineSegment表示在PathFigure中两个点之间的一条连线。
该代码表示定义一条线,它的起始位置是PathFigure的StartPoint,结束位置是LineSegment的Point
第二条线
< LineSegment Point ="200,100" ></ LineSegment >
它的起始位置是上一个LineSegment的Point,结束位置是它自己的Point,前后两条线条是互相连贯的。
本程序的划线步骤如下图:
在PathFigure元素中有一个属性IsClosed,该属性的含义表示是否将最后一个端点与StartPoint连接,true=连接,false=不连接