代码之家  ›  专栏  ›  技术社区  ›  AndreyAkinshin

在C上构造一个环的形状#

  •  1
  • AndreyAkinshin  · 技术社区  · 15 年前

    我需要一种方法来构造环(从中切出一个半径较小的圆的圆),并将其返回为 System.Windows.Shapes.Shape . 我能用这个吗 Path ? 可能存在其他的方式吗?

    1 回复  |  直到 15 年前
        1
  •  7
  •   Jon Skeet    15 年前

    你能用一个很粗的笔划,但透明填充的椭圆吗?不可否认,如果你想让戒指的边缘与填充部分的颜色不同,这是行不通的。。。

    或者,我开始看 Path 包含两个 EllipseGeometry 中的元素 GeometryGroup 用一个 FillRule 属于 EvenOdd 或者 CombineGeometry 用一个 GeometryCombineMode 属于 Exclude . 例如:

    <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

    我说的对吗?那就是你想要的?

    推荐文章