/ / Jak narysować oddzielne koło w XAML? - wpf, xaml, Windows-phone

Jak narysować oddzielne koło w XAML? - wpf, xaml, Windows-phone

Jak mogę narysować taki okrąg, 2 kolory na 2 części. Koduję w Xaml

wprowadź opis obrazu tutaj

<Ellipse Fill="White" HorizontalAlignment="Center" VerticalAlignment="Center" Width="300" Height="300">

</Ellipse>

<Path VerticalAlignment="Top" Fill="Brown" HorizontalAlignment="Left">
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="59,150">
<ArcSegment SweepDirection="Clockwise" Size="141,80" Point="341,150"/>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>

Próbuję, a powyższa Ścieżka nie jest w pełni częścią 1. Pomóż mi spróbować narysować!

Odpowiedzi:

4 dla odpowiedzi № 1

Możesz także skorzystać z następujących ...

   <Grid Height="200" Width="200" VerticalAlignment="Center">
<Ellipse Fill="#FFE1B631"  />
<Path Data="M93.88768,0 C136.17198,0 172.32661,26.244247 186.95134,63.33252 L187.77536,65.5 0,65.5 0.82401276,63.33252 C15.44875,26.244247 51.603378,0 93.88768,0 z" Fill="#FFFD450F" Height="60.26" Stretch="Fill" VerticalAlignment="Top" Margin="8,1.31,8,0"/>
</Grid>

wprowadź opis obrazu tutaj


17 dla odpowiedzi nr 2

Proszę, idź:

<Canvas>
<Ellipse Canvas.Left="50" Canvas.Top="50" Width="300" Height="300" Stroke="Black" StrokeThickness="1" Fill="Red" />
<Ellipse Canvas.Left="50" Canvas.Top="50" Width="300" Height="300" Stroke="Black" StrokeThickness="1" Fill="Yellow">
<Ellipse.Clip>
<RectangleGeometry Rect="0 100 300 300" />
</Ellipse.Clip>
</Ellipse>
<Rectangle Canvas.Left="50" Canvas.Top="150" Width="300" Height="200" Stroke="Black" StrokeThickness="1" Fill="Transparent">
<Rectangle.Clip>
<EllipseGeometry Center="150, 50" RadiusX="150" RadiusY="150" />
</Rectangle.Clip>
</Rectangle>
</Canvas>

Pierwszy element canvas rysuje czerwone kółko, drugi element rysuje żółte kółko nad wierzchołkiem i przycina je, trzeci element rysuje czarną linię przez środek. Oto wynik:

wprowadź opis obrazu tutaj

EDYCJA: Właściwie o tym myśląc, te dwa elipsy można wykonać za pomocą pojedynczej elipsy i liniowego pędzla gradientowego:

<Ellipse Canvas.Left="50" Canvas.Top="50" Width="300" Height="300" Stroke="Black" StrokeThickness="1">
<Ellipse.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="Red" Offset="0.3333" />
<GradientStop Color="Yellow" Offset="0.3333" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>