Logo Pastebin.fr
Pastebin

Retrouvez, créez et partagez vos snippets en temps réel.

Tkt

private void Button_Click(object sender, RoutedEventArgs e)
{
    parts++;

    double centerX = 150;
    double centerY = 150;
    double radius = 100;

    DrawingGroup group = new DrawingGroup();

    double angleStep = 2 * Math.PI / parts;

    for (int i = 0; i < parts; i++)
    {
        double startAngle = i * angleStep;
        double endAngle = startAngle + angleStep;

        Point startPoint = new Point(
            centerX + radius * Math.Cos(startAngle),
            centerY + radius * Math.Sin(startAngle));

        Point endPoint = new Point(
            centerX + radius * Math.Cos(endAngle),
            centerY + radius * Math.Sin(endAngle));

        PathFigure figure = new PathFigure
        {
            StartPoint = new Point(centerX, centerY),
            IsClosed = true
        };

        figure.Segments.Add(new LineSegment(startPoint, true));

        figure.Segments.Add(new ArcSegment(
            endPoint,
            new Size(radius, radius),
            0,
            angleStep > Math.PI,
            SweepDirection.Clockwise,
            true));

        figure.Segments.Add(new LineSegment(
            new Point(centerX, centerY), true));

        PathGeometry geometry = new PathGeometry();
        geometry.Figures.Add(figure);

        GeometryDrawing drawing = new GeometryDrawing
        {
            Geometry = geometry,
            Brush = GetBrush(i),
            Pen = new Pen(Brushes.Black, 1)
        };

        group.Children.Add(drawing);
    }

    MyImage.Source = new DrawingImage(group);
}

Créé il y a 2 semaines.

Rechercher un Pastebin

Aucun paste trouvé.