原文:
WPF入门(三)->几何图形之不规则图形(PathGeometry) (2)
上一节我们介绍了PathGeometry中LineSegment是点与点之间绘制的一条直线,那么我们这一节来看一下点与点之间绘制曲线ArcSegment
先来看一段代码
<
Window
x:Class
="WPF.SimpleGraph.PathFill.Window1"
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 ="40,40" IsClosed ="True" >
< LineSegment Point ="40,130" ></ LineSegment >
< ArcSegment Point ="60,150" Size ="20,20" ></ ArcSegment >
< LineSegment Point ="200,150" ></ LineSegment >
< ArcSegment Point ="220,130" Size ="20,20" ></ ArcSegment >
< LineSegment Point ="220,40" ></ LineSegment >
< ArcSegment Point ="200,20" Size ="20,20" ></ ArcSegment >
< LineSegment Point ="60,20" ></ LineSegment >
< ArcSegment Point ="40,40" Size ="20,20" ></ ArcSegment >
</ PathFigure >
</ PathGeometry >
</ Path.Data >
</ Path >
</ Canvas >
</ Window >
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 ="40,40" IsClosed ="True" >
< LineSegment Point ="40,130" ></ LineSegment >
< ArcSegment Point ="60,150" Size ="20,20" ></ ArcSegment >
< LineSegment Point ="200,150" ></ LineSegment >
< ArcSegment Point ="220,130" Size ="20,20" ></ ArcSegment >
< LineSegment Point ="220,40" ></ LineSegment >
< ArcSegment Point ="200,20" Size ="20,20" ></ ArcSegment >
< LineSegment Point ="60,20" ></ LineSegment >
< ArcSegment Point ="40,40" Size ="20,20" ></ ArcSegment >
</ PathFigure >
</ PathGeometry >
</ Path.Data >
</ Path >
</ Canvas >
</ Window >
执行结果:
其中ArcSegment表示一条点到点之间的曲线
例如该代码它
<
PathFigure
StartPoint
="40,40"
IsClosed
="False"
>
< ArcSegment Point ="40,80" Size ="20,20" ></ ArcSegment >
</ PathFigure >
< ArcSegment Point ="40,80" Size ="20,20" ></ ArcSegment >
</ PathFigure >
它的效果是从点(40,40)到点(40,80)之间绘制一条曲线
ArcSegment的Size属性表示该曲线的弧度及形状,详细弧度与值的关系请查考msdn
<
LineSegment
Point
="40,130"
></
LineSegment
>
< ArcSegment Point ="60,150" Size ="20,20" ></ ArcSegment >
< ArcSegment Point ="60,150" Size ="20,20" ></ ArcSegment >
该代码表示画一条从StartPoint到40,130的直线,再从40,130到60,150的曲线
依次类推,我们便可画出一个弧形角的矩形。