Как разрезать донфо пополам? - PullRequest
0 голосов
/ 24 января 2011

У меня есть кольцо или донат, созданный здесь:

Как создать круг с отверстием в круге в WPF?

Я бы хотел сейчасиметь только половину доноута (используя круг, а не путь, потому что мне нужно легко изменить размер), как это сделать в XAML и, если возможно, программно.

1 Ответ

3 голосов
/ 25 января 2011

Это использует путь, но, возможно, вы найдете его полезным:

<Path HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="Fill" Height="231" Width="434">
        <Path.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FFFF2F00" Offset="0"/>
                <GradientStop Color="#FF63B224" Offset="1"/>
            </LinearGradientBrush>
        </Path.Fill>
<Path.Data>
    <PathGeometry>
        <PathGeometry.Figures>
            <PathFigure StartPoint="0,200">
                <PathFigure.Segments>
                    <LineSegment Point="0,200" />
                    <ArcSegment Size="150,150"
                                SweepDirection="Clockwise"
                                Point="400,200" />
                    <LineSegment Point="390,200" />
                    <ArcSegment Size="140,140"
                                SweepDirection="CounterClockwise"
                                Point="10,200" />
                </PathFigure.Segments>
            </PathFigure>
        </PathGeometry.Figures>
    </PathGeometry>
</Path.Data>

Существует также прагматичный способ проверить это Математика ArcSegment

...