具有CombinedGeometry

时间:2017-03-02 09:17:39

标签: wpf xaml geometry ellipse

我有这个椭圆:

enter image description here

    <Ellipse Name="backgroundEllipse1" Fill="Pink">
        <Ellipse.Clip>
            <CombinedGeometry GeometryCombineMode="Exclude">
                <CombinedGeometry.Geometry1>
                    <EllipseGeometry x:Name="backgroundEllipseMask1" Center="150,150" RadiusX="300" RadiusY="300"></EllipseGeometry>
                </CombinedGeometry.Geometry1>
                <CombinedGeometry.Geometry2>
                    <EllipseGeometry x:Name="backgroundEllipseMask2" Center="150,150" RadiusX="130" RadiusY="130"></EllipseGeometry>
                </CombinedGeometry.Geometry2>
            </CombinedGeometry>
        </Ellipse.Clip>
    </Ellipse>

我怎样才能做出这样的事情? enter image description here

我正在尝试将中心和半径值组合在一起,但有些事情让我感到厌烦。

1 个答案:

答案 0 :(得分:1)

您需要ArcSegment

<Canvas>
    <Path Stroke="Pink" StrokeThickness="10" >
        <Path.Data>
            <PathGeometry>
                <PathFigure StartPoint="400,400">
                    <ArcSegment IsLargeArc="True"
                            Size="100, 100"
                            Point="480, 410"
                            SweepDirection="Counterclockwise" />
                </PathFigure>
            </PathGeometry>
        </Path.Data>
    </Path>
</Canvas>

请注意,弧开始形式(400,400)并以(480,410)结束。它移动Counterclockwise并且是一个大弧。 Size="100, 100"确定Ellipse的大小(如果相等则为圆圈),This post可以帮助您。