2

我有一个椭圆,它只是一个圆。我的问题是我想从大圆圈的中间切出一个圆形孔,但似乎没有任何效果。我试过不透明蒙版,但没有任何效果。

更复杂的是,大圆圈有一个 DropShadowEffect。但是因为这个圆圈是略微透明的,所以你可以看到它后面有一个很大的阴影圆圈。这不是模型的样子,我想知道是否有办法让阴影只出现在圆的边缘周围,不管所说的圆有多透明。

谢谢!

4

2 回答 2

5

像这样的例子:

<Canvas>
<Path Stroke="Black">
  <Path.Data>
    <CombinedGeometry GeometryCombineMode="Exclude">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry Center="100,100" RadiusX="100" RadiusY="100"></EllipseGeometry>
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry Center="100,100" RadiusX="80" RadiusY="80"></EllipseGeometry>
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>
</Canvas>

对于阴影:这也应该解决,因为生成的对象实际上是一个圆圈,其中有一个整体,而不仅仅是一个不透明度-“技巧”

于 2009-04-12T01:44:06.917 回答
1

不使用 Ellipse,而是使用 Path,并使用 Exclude GeometryCombineMode 让 Path.Data 成为由两个椭圆组成的 CombinedGeometry。

于 2009-04-11T23:47:59.347 回答