2009-04-11 8 views
2

Ich habe eine Ellipse, die nur ein Kreis ist. Mein Problem ist, dass ich ein kreisförmiges Loch aus der Mitte des größeren Kreises ausschneiden möchte und nichts scheint zu funktionieren. Ich habe Opazitätsmasken ausprobiert und diese haben überhaupt nicht funktioniert.WPF-Objekt verwenden, um ein Loch in einem anderen Loch zu "bohren"?

Um die Dinge noch komplizierter zu machen, hat der große Kreis einen DropShadowEffect. Da der Kreis jedoch leicht transparent ist, können Sie einen großen schattigen Kreis dahinter sehen. Dies ist nicht wirklich, wie das Modell aussieht und ich frage mich, ob es einen Weg gibt, den Schatten nur um die Ränder des Kreises erscheinen zu lassen, egal wie transparent der Kreis ist.

Danke!

Antwort

1

Anstatt eine Ellipse zu verwenden, verwenden Sie einen Pfad, und die Path.Data muss eine CombinedGeometry sein, die aus den zwei Ellipsen besteht, die den Exclude GeometryCombineMode verwenden.

5

dies wie zum Beispiel:

<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> 

Für den Schatten: das zu lösen ist, da das resultierende Objekt tatsächlich ein Kreis mit einem Ganzen ist es, statt nur einen opacity- ‚Trick '

Verwandte Themen