Нужно написать процедуру закрашивания пересекающихся областей треугольников (пример из 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(); } }
|
|