WPF Geomery

Geomery描述二维集合图形

简单的几何图形类包括LineGeometry, RectangleGeometry,和EllipseGeometry和用于创建基本的几何形状,如线条、 矩形和圆形。

<Path Stroke="Black" StrokeThickness="1" >
  <Path.Data>
    <LineGeometry StartPoint="10,20" EndPoint="100,130" />
  </Path.Data>
</Path>

路径几何:

PathGeometry类和它轻量的等效项,StreamGeometry类中,提供了一种用于描述多个复杂的数字组成弧、 曲线和行。

核心PathGeometry是一套PathFigure对象,这样命名是因为每个图描述了中的一个离散形状PathGeometry。 每个PathFigure本身包含一个或多个PathSegment对象,其中每个描述图一段。

有多种类型的线段。

线段类型描述示例
ArcSegment创建两个点之间的椭圆弧。创建椭圆弧
BezierSegment创建两个点之间的三次方贝塞尔曲线。创建三次方贝塞尔曲线
LineSegment创建两个点之间的直线。在 PathGeometry 中创建 LineSegment
PolyBezierSegment创建一系列三次方贝塞尔曲线。请参阅PolyBezierSegment类型页。
PolyLineSegment创建一系列直线。请参阅PolyLineSegment类型页。
PolyQuadraticBezierSegment创建一系列的二次贝塞尔曲线。请参阅PolyQuadraticBezierSegment页。
QuadraticBezierSegment创建一条二次贝塞尔曲线。创建二次贝塞尔曲线

中的线段PathFigure合并为单个几何形状下, 一段的起始点每一条线段的终点。 StartPoint属性PathFigure指定从中提取第一条线段的点。 每个后续线段都从上一线段的终点开始。 例如,从竖线10,5010,150可以通过设置定义StartPoint属性10,50和创建LineSegmentPoint属性设置的10,150

<Path Stroke="Black" StrokeThickness="1">
  <Path.Data>
    <PathGeometry>
      <PathGeometry.Figures>
        <PathFigure StartPoint="10,20">
          <PathFigure.Segments>
            <LineSegment Point="100,130"/>
          </PathFigure.Segments>
        </PathFigure>
      </PathGeometry.Figures>
    </PathGeometry>
  </Path.Data>
</Path>

复合几何

可以使用创建的复合几何图形对象GeometryGroup、 CombinedGeometry,或通过调用静态Geometry方法Combine

因为它们不会执行合并操作,所以使用GeometryGroup对象通过使用提供的性能优势CombinedGeometry对象或Combine方法。

合并几何

上一部分中所述CombinedGeometry对象和Combine方法组合它们包含的几何图形由定义的区域。 GeometryCombineMode枚举指定几何图形的组合的方式。 可能值GeometryCombineMode属性: Union, Intersect, Exclude,和Xor

在下面的示例中,CombinedGeometry定义组合模式的联合。 同时Geometry1Geometry2定义圆的半径相同,但是中心偏移量为 50。

<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
  <Path.Data>
    
    <!-- Combines two geometries using the union combine mode. -->
    <CombinedGeometry GeometryCombineMode="Union">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值