在C#上以环形式构造一个形状

时间:2010-11-13 20:32:02

标签: c# .net shape

我需要构造环的方法(сircle从中切割一个较小半径的圆)并将其作为System.Windows.Shapes.Shape返回。我可以使用Path执行此操作吗?可能存在另一种方式吗?

1 个答案:

答案 0 :(得分:7)

你可以使用一个非常粗的笔划但是透明填充的椭圆吗?诚然,如果您希望环本身的边缘与填充部分的颜色不同,则不起作用...

或者,我会开始查看PathEllipseGeometryGeometryGroup元素,FillRule EvenOdd CombineGeometry或{{1} GeometryCombineMode Exclude的{​​{1}}。例如:

<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF">
  <Path.Data>
    <CombinedGeometry GeometryCombineMode="Exclude">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX="100" RadiusY="100" Center="125,125" />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="125,125" />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>

产生这个:

alt text

我是否正确地说这就是你所追求的?