2009-04-11 48 views
2

我有一个只是一个圆的椭圆。我的问题是我想从大圆圈的中间切出一个圆形的洞,似乎没有任何工作。我试过不透明的面具,而那些都不起作用。使用WPF对象在另一个“打孔”孔?

为了进一步复杂的是,大圈子有DropShadowEffect。但是因为这个圆圈稍微透明,你可以在它后面看到一个巨大的阴影圆圈。这实际上不是模型的样子,我想知道是否有办法让阴影只出现在圆的边缘,无论圆是多么透明。

谢谢!

回答

1

而不是使用椭圆的,使用路径,并有Path.Data是由使用排除GeometryCombineMode两个椭圆的CombinedGeometry。

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> 

对于影子:这也应该被解决,因为得到的对象实际上全在里面转了一圈,而不只是一个opacity-“伎俩'