Chciałem tylko umieścić zaznaczenie na mojej skrzynce obrazowej.image, ale stało się to po prostu gorsze od jakiejś małej irytującej sytuacji. Myślałem o innym obrazku nad głównym obrazkiem, ale wydawało mi się to leniwe. Muszę wiedzieć, czy istnieje sposób na stworzenie obszaru zaznaczenia (który będzie półprzezroczystym niebieskim obszarem) na obrazku. Obrazek, który narysuję za pomocą myszy i nie powinien zmieniać obrazu, nad którym pracuję.Jak wybrać obszar na obrazie PictureBox.Image za pomocą myszy w języku C#
próbki:
// Start Rectangle
//
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Determine the initial rectangle coordinates...
RectStartPoint = e.Location;
Invalidate();
}
// Draw Rectangle
//
private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
return;
Point tempEndPoint = e.Location;
Rect =
new Rectangle(
Math.Min(RectStartPoint.X, tempEndPoint.X),
Math.Min(RectStartPoint.Y, tempEndPoint.Y),
Math.Abs(RectStartPoint.X - tempEndPoint.X),
Math.Abs(RectStartPoint.Y - tempEndPoint.Y));
Invalidate(Rect);
}
// Draw Area
//
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
// Draw the rectangle...
if (pictureBox1.Image != null)
{
Brush brush = new SolidBrush(Color.FromArgb(128, 72, 145, 220));
e.Graphics.FillRectangle(brush, Rect);
}
}
Czy chcesz utworzyć pole wyboru na obrazie w ramce obrazu? Czy pole wyboru będzie działać tak samo, jak klikanie i przeciąganie na pulpicie w celu utworzenia przezroczystego niebieskiego kwadratu? – 3aw5TZetdf