private Point _pt; private Point _pt2; private void picBoxImageProcessing_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { int ix = (int)(e.X / _zoom); int iy = (int)(e.Y / _zoom); //reset _pt2 _pt2 = new Point(0, 0); _pt = new Point(ix, iy); // pictureBox1.Invalidate(); picBoxImageProcessing.Invalidate(); }} private void picBoxImageProcessing_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && _selecting) { _selecting = false; } } private void picBoxImageProcessing_Paint(object sender, PaintEventArgs e) { if (_selecting &&_pt.X >= 0 && _pt.Y >= 0 && _pt2.X >= 0 && _pt2.Y >= 0) { e.Graphics.DrawRectangle(pen, _pt.X * _zoom, _pt.Y * _zoom, (_pt2.X - _pt.X) * _zoom, (_pt2.Y - _pt.Y) * _zoom); } } private void picBoxImageProcessing_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { _selecting = true; int ix = (int)(e.X / _zoom); int iy = (int)(e.Y / _zoom); _pt2 = new Point(ix, iy); // pictureBox1.Invalidate(); picBoxImageProcessing.Invalidate(); } }there is no problem to draw the rectangle by mouse dragging. But if i want to change the height or width of the rectangle then I have to draw a new rectangle, that i don't want. I want to change the height and width of the rectangle by modifying the drawn rectangle instead of drawing a new rectangle.
private Point _pt; private Point _pt2; private void picBoxImageProcessing_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { int ix = (int)(e.X / _zoom); int iy = (int)(e.Y / _zoom); //reset _pt2 _pt2 = new Point(0, 0); _pt = new Point(ix, iy); // pictureBox1.Invalidate(); picBoxImageProcessing.Invalidate(); }} private void picBoxImageProcessing_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && _selecting) { _selecting = false; } } private void picBoxImageProcessing_Paint(object sender, PaintEventArgs e) { if (_selecting &&_pt.X >= 0 && _pt.Y >= 0 && _pt2.X >= 0 && _pt2.Y >= 0) { e.Graphics.DrawRectangle(pen, _pt.X * _zoom, _pt.Y * _zoom, (_pt2.X - _pt.X) * _zoom, (_pt2.Y - _pt.Y) * _zoom); } } private void picBoxImageProcessing_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { _selecting = true; int ix = (int)(e.X / _zoom); int iy = (int)(e.Y / _zoom); _pt2 = new Point(ix, iy); // pictureBox1.Invalidate(); picBoxImageProcessing.Invalidate(); } }
I don't want to know how to crop. I need to draw a resizable rectangle on the image as we can do in photoshop. So I need a crop selection control like photoshop's crop control.