//событие отпускание лкм private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { XY2 = new XYkoord {X = e.X, Y = e.Y}; Graphics g = Graphics.FromImage(bmp); pictureBox1.Image = bmp; if (radioButton1.Checked) //рисуем линию { foreach (Rectangle rectangle11 in RectanglesList) { if (RectenglChek.RectenglCheked(XY1, rectangle11)) { nextForeach(g, rectangle11); } } } if (radioButton2.Checked) //рисуем прямоугольники { Rectangle rectangle = new Rectangle(); Drowing.RectangleDrow(g, XY1, XY2, rectangle); } if (radioButton4.Checked) //рисуем прямоугольники синий { BlueRectangle rec = new BlueRectangle(); Drowing.RectangleDrow(g, XY1, XY2, rec); } if (radioButton3.Checked) { Rectangle rec = new Rectangle(); rec = null; foreach (Rectangle rectangle in RectanglesList) { if (RectenglChek.RectenglCheked(XY1, rectangle)) { rec = rectangle; } } if (rec != null) { RectanglesList.Remove(rec); rec.koord1.X = XY1.X - (XY1.X - XY2.X); rec.koord1.Y = XY1.Y - (XY1.Y - XY2.Y); rec.koord2.X = rec.koord1.X + rec.width; rec.koord2.Y = rec.koord1.Y + rec.heigh; Drowing.RectangleDrow(g, rec.koord1, rec.koord2, rec); foreach (Line line in LineList) { if (line.rectangle1 == rec) { line.rectangle1 = RectanglesList.Last(); } if (line.rectangle2 == rec) { line.rectangle2 = RectanglesList.Last(); } } UpdatePictur.Update(LineList, RectanglesList, g); pictureBox1.Image = bmp; } } }
//public static void RectangleDrow(Graphics g, XYkoord _koord1, XYkoord _koord2, List<Rectangle> rectangles) //{ // if (_koord1.X > _koord2.X) // { // XYkoord _ykoord3 = new XYkoord(); // _ykoord3.X = _koord1.X; // _koord1.X = _koord2.X; // _koord2.X = _ykoord3.X; // } // if (_koord1.Y > _koord2.Y) // { // XYkoord ykoord3 = new XYkoord(); // ykoord3.Y = _koord1.Y; // _koord1.Y = _koord2.Y; // _koord2.Y = ykoord3.Y; // } // int widthRectangle = _koord1.X - _koord2.X; // if (widthRectangle <= 0) // widthRectangle = _koord2.X - _koord1.X; // int heightRectangle = _koord1.Y - _koord2.Y; // if (heightRectangle <= 0) // heightRectangle = _koord2.Y - _koord1.Y; // Pen pen = Rectangle.pen; // g.DrawRectangle(pen, _koord1.X, _koord1.Y, widthRectangle, heightRectangle); // Rectangle rectangle = new Rectangle // { // X = _koord1.X, // Y = _koord1.Y, // heigh = heightRectangle, // width = widthRectangle, // koord1 = _koord1, // koord2 = _koord2 // }; // rectangles.Add(rectangle); //} public static void RectangleDrow(Graphics g, XYkoord _koord1, XYkoord _koord2,Rectangle rectangles) { if (_koord1.X > _koord2.X) { XYkoord _ykoord3 = new XYkoord(); _ykoord3.X = _koord1.X; _koord1.X = _koord2.X; _koord2.X = _ykoord3.X; } if (_koord1.Y > _koord2.Y) { XYkoord ykoord3 = new XYkoord(); ykoord3.Y = _koord1.Y; _koord1.Y = _koord2.Y; _koord2.Y = ykoord3.Y; } int widthRectangle = _koord1.X - _koord2.X; if (widthRectangle <= 0) widthRectangle = _koord2.X - _koord1.X; int heightRectangle = _koord1.Y - _koord2.Y; if (heightRectangle <= 0) heightRectangle = _koord2.Y - _koord1.Y; rectangles.X = _koord1.X; rectangles.Y = _koord1.Y; rectangles.heigh = heightRectangle; rectangles.width = widthRectangle; rectangles.koord1 = _koord1; rectangles.koord2 = _koord2; Pen pen = rectangles.pen(); g.DrawRectangle(pen, _koord1.X, _koord1.Y, widthRectangle, heightRectangle); }
//public static void RectangleDrow(Graphics g, XYkoord _koord1, XYkoord _koord2, List<Rectangle> rectangles) //{ // if (_koord1.X > _koord2.X) // { // XYkoord _ykoord3 = new XYkoord(); // _ykoord3.X = _koord1.X; // _koord1.X = _koord2.X; // _koord2.X = _ykoord3.X; // } // if (_koord1.Y > _koord2.Y) // { // XYkoord ykoord3 = new XYkoord(); // ykoord3.Y = _koord1.Y; // _koord1.Y = _koord2.Y; // _koord2.Y = ykoord3.Y; // } // int widthRectangle = _koord1.X - _koord2.X; // if (widthRectangle <= 0) // widthRectangle = _koord2.X - _koord1.X; // int heightRectangle = _koord1.Y - _koord2.Y; // if (heightRectangle <= 0) // heightRectangle = _koord2.Y - _koord1.Y; // Pen pen = Rectangle.pen; // g.DrawRectangle(pen, _koord1.X, _koord1.Y, widthRectangle, heightRectangle); // Rectangle rectangle = new Rectangle // { // X = _koord1.X, // Y = _koord1.Y, // heigh = heightRectangle, // width = widthRectangle, // koord1 = _koord1, // koord2 = _koord2 // }; // rectangles.Add(rectangle); //} public static void RectangleDrow(Graphics g, XYkoord _koord1, XYkoord _koord2, Rectangle rectangles) { if (_koord1.X > _koord2.X) { XYkoord _ykoord3 = new XYkoord(); _ykoord3.X = _koord1.X; _koord1.X = _koord2.X; _koord2.X = _ykoord3.X; } if (_koord1.Y > _koord2.Y) { XYkoord ykoord3 = new XYkoord(); ykoord3.Y = _koord1.Y; _koord1.Y = _koord2.Y; _koord2.Y = ykoord3.Y; } int widthRectangle = _koord1.X - _koord2.X; if (widthRectangle <= 0) { widthRectangle = _koord2.X - _koord1.X; } int heightRectangle = _koord1.Y - _koord2.Y; if (heightRectangle <= 0) { heightRectangle = _koord2.Y - _koord1.Y; } rectangles.X = _koord1.X; rectangles.Y = _koord1.Y; rectangles.heigh = heightRectangle; rectangles.width = widthRectangle; rectangles.koord1 = _koord1; rectangles.koord2 = _koord2; Pen pen = rectangles.pen(); g.DrawRectangle(pen, _koord1.X, _koord1.Y, widthRectangle, heightRectangle); }
private void pictureBox1_MouseUp(object sender, MouseEventArgs e) //событие отпускание лкм { XY2 = new XYkoord { X = e.X, Y = e.Y }; Graphics g = Graphics.FromImage(bmp); pictureBox1.Image = bmp; if (radioButton1.Checked) //рисуем линию { foreach (Rectangle rectangle11 in RectanglesList) { if (RectenglChek.RectenglCheked(XY1, rectangle11)) { nextForeach(g, rectangle11); } } } if (radioButton2.Checked) //рисуем прямоугольники { Rectangle rectangle = new Rectangle(); Drowing.RectangleDrow(g, XY1, XY2, rectangle); } if (radioButton4.Checked) //рисуем прямоугольники синий { BlueRectangle rec = new BlueRectangle(); Drowing.RectangleDrow(g, XY1, XY2, rec); } if (radioButton3.Checked) { Rectangle rec = new Rectangle(); rec = null; foreach (Rectangle rectangle in RectanglesList) { if (RectenglChek.RectenglCheked(XY1, rectangle)) { rec = rectangle; } } if (rec != null) { RectanglesList.Remove(rec); rec.koord1.X = XY1.X - (XY1.X - XY2.X); rec.koord1.Y = XY1.Y - (XY1.Y - XY2.Y); rec.koord2.X = rec.koord1.X + rec.width; rec.koord2.Y = rec.koord1.Y + rec.heigh; Drowing.RectangleDrow(g, rec.koord1, rec.koord2, rec); foreach (Line line in LineList) { if (line.rectangle1 == rec) { line.rectangle1 = RectanglesList.Last(); } if (line.rectangle2 == rec) { line.rectangle2 = RectanglesList.Last(); } } UpdatePictur.Update(LineList, RectanglesList, g); pictureBox1.Image = bmp; } } }
public void pictureBox1_MouseDown(object sender, MouseEventArgs e) //событие нажатия лкм { XY1 = new XYkoord { X = e.X, Y = e.Y }; }
//событие нажатия лкм public void pictureBox1_MouseDown(object sender, MouseEventArgs e) { XY1 = new XYkoord {X = e.X, Y = e.Y}; }