Artlife

专注于.NET 3.0技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

说说Path画线

Posted on 2007-01-09 10:28  artlife  阅读(3072)  评论(6)    收藏  举报
Path画线
在WPF里画直线一般用line对象,但曲线一般是用Path对象,在这总结一下吧:
WPF画线需要用到Segment对象。它是指示待画线的类型。
Segment types--(Path分段类型)
1.StartSegment     ---设置开始点在第一分段
2.CloseSegment    ---显示figure的结束,习惯都用在最后一个分段
3.LineSegment    ---单一线段
4.PolyLineSegment   ---线段序列
5.ArcSegment    ---弧(椭圆的)
6.BezierSegment    ---贝塞尔曲线(立方)
7.QuadraticBezierSegment  ---贝塞尔曲线(二次方)
8.PolyBezierSegment   ---贝塞尔曲线序列(立方)
9.PolyQuadraticBezierSegment ---贝塞尔曲线序列(二次方)

SDK例子 :
<Path Stroke="Black" StrokeThickness="1">
  
<Path.Data>
    
<PathGeometry>
      
<PathGeometry.Figures>
        
<PathFigureCollection>
          
<PathFigure StartPoint="10,100">
            
<PathFigure.Segments>
              
<PathSegmentCollection>
                
<ArcSegment Size="100,50" RotationAngle="45" IsLargeArc="True" SweepDirection="CounterClockwise" Point="200,100" />
              
</PathSegmentCollection>
            
</PathFigure.Segments>
          
</PathFigure>
        
</PathFigureCollection>
      
</PathGeometry.Figures>
    
</PathGeometry>
  
</Path.Data>
</Path>

个人感觉还是比较喜欢用Path,它比起shape有更强的自定义能力,可以拼装更复杂的图形。
例如你可以把Path通过增加相应的Dependency属性及改变Template,“伪装”成增强型的Line对象。