形状和图形-类型结构

来源:互联网 发布:爱情动作片软件 编辑:程序博客网 时间:2024/06/05 07:21

       图形就是Shape,它集成自FrameworkElement抽象类,成为Shape类型,它有几个属性,比如Fill(填充),Stroke(边框颜色),StrokeThickness(边框厚度),Stretch(填充样式)等等,还有好几个。下图是Shape的类型结构图。

形状和图形-类型结构 - soolazy - 羽翼半张
        其中Rectangle,Ellipse,Line,Polyline,Polygon分别表示矩形,椭圆,线段,折线,多边形。而Path表示复杂的图形,在Path中提供一个属性Data,该属性接受一个Geometry对象(即几何对象),Geometry对象定义了一个或多个路径。
        Geometry是一个抽象类,它的派生类,如下图:
形状和图形-类型结构 - soolazy - 羽翼半张
       LineGeometry,EllipseGeometry,RectangleGeometry只能单独的嵌入Path.Data中。
       GeometryGroup则提供了前三种几何对象的组合插入。
       CombinedGeometry则提供了前三中几何对象的叠加插入。CombinedGeometry依赖于一个枚举的属性,GeometryCombinedMode,它有四个枚举值,分别为Union,Intersect,Xor,Exclue,即联合,相交,联合后去除相交,排除。
       PathGeometryPath ,①PathGeometry对象都是由一个或多个PathFigure对象构建而成的。②每个PathFigure对象都是一系列的相互连接的直线或曲线,它们可以是封闭的也可以不是封闭的。③PathFigure有四个属性,分别是IsClosed,IsFilled,StartPoint和Segments。其中Segments是PahSegment对象的集合。PathSegment也是一个抽象类。它的派生类,如下所示:

形状和图形-类型结构 - soolazy - 羽翼半张

 

 

       总结:在图形世界里面,有一些形状Shape,Shape类型包含了一些规则的形状,如rectangle,ellipse等,还包含了一些不规则的形状Path,这些说的都是特指形状(Shape)。

       在上面的这个不规则的形状Path里面,有一个属性,叫做Data,它存放了一些几何形状,当然,这些几何形状也有规则的,也有不规则的。规则的几何形状如RectangleGeometry,EllipseGeometry,LineGeometry等。而不规则的几何形状叫做PathGeometry。

       在上面的这个不规则的几何形状PathGeometry里面,有个属性叫做Segments,它存放了这一些更加细分的东西,叫做“片段”,这些片段有直线,弧线,贝塞克曲线等等,就是LineSegment,ArcSegment,BezierSegment等等。

      

那么这个结构图,它的主要机构,就是平级和细分,对一些具有共同特征的东西,归类为平级。对其中较为特殊的部分,进行延伸、细分。

0 0
原创粉丝点击