C # ImageBox Clear Rectangle на MouseUp


0

Я бы попробовал такой подход:

Во-первых, сделайте MouseDownпеременную, в рамках формы

private void Picture_MouseDown(object sender, MouseEventArgs e)
{
    //save it
    startImage = ((PictureBox)sender).Image;
    RecStartpoint = e.Location;
    ((PictureBox)sender).Invalidate();
}

во-вторых, сохраните текущее изображение в этой переменной на MouseUp

Rectangle

наконец, в конце MouseUpсобытия установите Rectangleширину и высоту в ноль и восстановите сохраненное исходное изображение

//snipped code
pictureBox_preview_photo.Refresh();
Bitmap sourceBitmap = new Bitmap(org_pic.ImageLocation);
Graphics g = pictureBox_preview_photo.CreateGraphics();
g.DrawImage(sourceBitmap, new Rectangle(0, 0, pictureBox_preview_photo.Width, pictureBox_preview_photo.Height), rectCropArea, GraphicsUnit.Pixel);

//make rectangle's widht and height 0 so that Paint event won't draw it
Rect.Width = Rect.Height = 0;
//restore image
this.Picture.Image = startImage;

Я не понял этого второго вопроса.

C #, Visual-студия, MouseEvent, панель, PictureBox,

c#,visual-studio,mouseevent,panel,picturebox,

2

Ответов: 1


0

Я бы попробовал такой подход:

Во-первых, сделайте MouseDownпеременную, в рамках формы

private void Picture_MouseDown(object sender, MouseEventArgs e)
{
    //save it
    startImage = ((PictureBox)sender).Image;
    RecStartpoint = e.Location;
    ((PictureBox)sender).Invalidate();
}

во-вторых, сохраните текущее изображение в этой переменной на MouseUp

Rectangle

наконец, в конце MouseUpсобытия установите Rectangleширину и высоту в ноль и восстановите сохраненное исходное изображение

//snipped code
pictureBox_preview_photo.Refresh();
Bitmap sourceBitmap = new Bitmap(org_pic.ImageLocation);
Graphics g = pictureBox_preview_photo.CreateGraphics();
g.DrawImage(sourceBitmap, new Rectangle(0, 0, pictureBox_preview_photo.Width, pictureBox_preview_photo.Height), rectCropArea, GraphicsUnit.Pixel);

//make rectangle's widht and height 0 so that Paint event won't draw it
Rect.Width = Rect.Height = 0;
//restore image
this.Picture.Image = startImage;

Я не понял этого второго вопроса.

C #, Visual-студия, MouseEvent, панель, PictureBox,
Похожие вопросы