上一节我们介绍了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>

执行结果:

 

其中ArcSegment表示一条点到点之间的曲线

 

例如该代码它

 

<PathFigure StartPoint="40,40" IsClosed="False">
                        
<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>

该代码表示画一条从StartPoint到40,130的直线,再从40,130到60,150的曲线

 

依次类推,我们便可画出一个弧形角的矩形。