Рисование многоугольника(полигона) - C#
Формулировка задачи:
Доброго времени суток!!!!
Мне необходимо организовать рисование многоугольника(полигона) и делать всё это мышкой,дак вот
есть метод DrawPolygon ему надо передать кисть и массив точек типа Paint.Сколько не пробовал не могу это сделать во всех книгах и документации написано что то типа следующего:
Ну тут всё понятно теперь сам вопрос как мне заполнить этот массив (Point[]) нажимя мышку,возможно мне надо использовать ArrayList myList=new ArrayList(); и в него добовлять координаты точек,но как потом переместить или копировать в Point[]??
И ещё какие события использовать MouseDown,MouseMove,MouseUp или может ещё что нибудь??
Зарание спасибо за помощь!!!!
public void DrawPolygonPoint(PaintEventArgs e) { // Create pen. Pen blackPen = new Pen(Color.Black, 3); // Create points that define polygon. Point point1 = new Point(50, 50); Point point2 = new Point(100, 25); Point point3 = new Point(200, 5); Point point4 = new Point(250, 50); Point point5 = new Point(300, 100); Point point6 = new Point(350, 200); Point point7 = new Point(250, 250); Point[] curvePoints = { point1, point2, point3, point4, point5, point6, point7 }; // Draw polygon to screen. e.Graphics.DrawPolygon(blackPen, curvePoints); }
Решение задачи: «Рисование многоугольника(полигона)»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { Graphics graph; List<Point> points; public Form1() { InitializeComponent(); graph = this.CreateGraphics(); points = new List<Point>(); } private void Form1_MouseDown(object sender, MouseEventArgs e) { points.Add(new Point(e.X,e.Y)); } private void button1_Click(object sender, EventArgs e) { Point[] pnts = new Point[points.Count]; for (int i = 0; i < points.Count; i++) { pnts[i] = points[i]; } graph.DrawPolygon(Pens.Red, pnts); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д