1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Shapes;
- namespace GraphDrawer
- {
- /// <summary>
- /// Interaction logic for GraphByClick.xaml
- /// </summary>
- public partial class GraphByClick : Window
- {
- public GraphByClick()
- {
- InitializeComponent();
- }
- private void backBtn_Click(object sender, RoutedEventArgs e)
- {
- ChoiseRegime regime = new ChoiseRegime();
- regime.Show();
- Close();
- }
- private void Grid_MouseUp(object sender, MouseButtonEventArgs e)
- {
- }
- private void canvas_MouseUp(object sender, MouseButtonEventArgs e)
- {
- var point = e.GetPosition(canvas);
- int x = Convert.ToInt32(point.X);
- int y = Convert.ToInt32(point.Y);
- if (vertexRb.IsChecked == true)
- {
- Ellipse ellipse = new Ellipse();
- Vertex vertex = new Vertex(x, y);
- DrawVertex(ellipse, canvas, vertex);
- test.Content = vertex.X;
- }
- }
- public void DrawEdge(Canvas canvas, Line line, Edge edge)
- {
- line = new Line();
- line.Stroke = GetBrush();
- line.StrokeThickness = 2;
- line.X1 = edge.startVertex.X + 5;
- line.Y1 = edge.startVertex.Y + 5;
- line.X2 = edge.finishVertex.X + 5;
- line.Y2 = edge.finishVertex.Y + 5;
- canvas.Children.Add(line);
- }
- public void DrawVertex(Ellipse ellipse, Canvas canvas, Vertex vertex)
- {
- SolidColorBrush brush = new SolidColorBrush(Color.FromRgb(0, 0, 0));
- ellipse = new Ellipse();
- ellipse.Height = 10;
- ellipse.Width = 10;
- ellipse.StrokeThickness = 2;
- ellipse.Stroke = brush;
- ellipse.Fill = brush;
- Canvas.SetLeft(ellipse, vertex.X);
- Canvas.SetTop(ellipse, vertex.Y);
- canvas.Children.Add(ellipse);
- }
- Random rand = new Random((DateTime.Now.Millisecond * DateTime.Now.Second) % DateTime.Now.Hour);
- public SolidColorBrush GetBrush()
- {
- SolidColorBrush[] brush = new SolidColorBrush[10];
- brush[0] = new SolidColorBrush(Color.FromRgb(235, 64, 52));
- brush[1] = new SolidColorBrush(Color.FromRgb(235, 235, 52));
- brush[2] = new SolidColorBrush(Color.FromRgb(64, 235, 52));
- brush[3] = new SolidColorBrush(Color.FromRgb(52, 235, 229));
- brush[4] = new SolidColorBrush(Color.FromRgb(0, 13, 255));
- brush[5] = new SolidColorBrush(Color.FromRgb(140, 0, 255));
- brush[6] = new SolidColorBrush(Color.FromRgb(255, 0, 230));
- brush[7] = new SolidColorBrush(Color.FromRgb(255, 162, 0));
- brush[8] = new SolidColorBrush(Color.FromRgb(0, 0, 0));
- return brush[rand.Next(0, 8)];
- }
- private void clearBtn_Click(object sender, RoutedEventArgs e)
- {
- canvas.Children.Clear();
- }
- }
- }
|