Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Написать процедуру объединения треугольников - C#


Автор: Fronzi 12.11.2017, 22:50
Нужно написать процедуру закрашивания пересекающихся областей треугольников (пример из paint)
Вот мой код рисования треугольников по точкам
Код

Color col = Color.White;
        
        Graphics G;
        enum MergeSample
        {
            Треугольники
        }; 
        public Form1()
        {
            InitializeComponent();
            comboBox1.DataSource = Enum.GetValues(typeof(MergeSample));
            comboBox1.SelectedItem = comboBox1.Items[0];

            this.MouseClick += this.Form1_MouseClick;
        }
private void button1_Click(object sender, EventArgs e) //очистка формы
        {
            Graphics G = CreateGraphics();
            G.FillRectangle(new SolidBrush(SystemColors.Control), ClientRectangle);
            G.Dispose();
        }
List<Point> Pts = new List<Point>(); //собственно рисование
        private void Form1_MouseClick(object sender, MouseEventArgs e)
        {
            Pts.Add(new Point(e.X, e.Y));

            if (Pts.Count == comboBox1.SelectedIndex +6)
            {
                Graphics G = this.CreateGraphics();
                G.DrawPolygon(new Pen(Color.Blue, 5), Pts.ToArray());
                Pts.Clear();
            }
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)