我有一个椭圆,它只是一个圆圈。我的问题是我想从较大圆圈的中间切出一个圆形孔,似乎没什么用。我尝试过不透明的面具,但那些都不起作用。
为了使事情更复杂,大圆圈有一个DropShadowEffect。但由于圆圈略微透明,你可以看到它后面有一个大阴影圆圈。这不是模型的样子,我想知道是否有办法让阴影只出现在圆的边缘,无论圆圈是多么透明。
谢谢!
答案 0 :(得分: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>
对于阴影:这也应该解决,因为生成的对象实际上是一个整体在其中的圆圈,而不仅仅是一个不透明 - “技巧”
答案 1 :(得分:1)
不使用Ellipse,而是使用Path,并使用Exclude GeometryCombineMode将Path.Data设置为由两个椭圆组成的CombinedGeometry。