Подтвердить что ты не робот

Очистить изображение на картинке

Как я могу очистить изображение на картинке? Следующее не помогает мне:

pictbox.Image = null;
pictbox.Invalidate();

Пожалуйста помоги.

РЕДАКТИРОВАТЬ

private void pictbox_Paint(object sender, PaintEventArgs e) 
{ 
     Graphics g = e.Graphics; 
     vl.Draw(g, ref tran.realListForInsert); 
} 

public void Draw(Graphics g, ref List<double> arr) 
{ 
    g.DrawRectangle(new Pen(Brushes.Red, 3), nodeArr[Convert.ToInt32(templstName)].pict.Location.X, nodeArr[Convert.ToInt32(templstName)].pict.Location.Y, 25, 25); 
    g.DrawRectangle(new Pen(Brushes.Green, 3), nodeArr[Convert.ToInt32(templstArgName)].pict.Location.X, nodeArr[Convert.ToInt32(templstArgName)].pict.Location.Y, 25, 25); 
    nodeArr[Convert.ToInt32(templstName)].text.Text = arr[Convert.ToInt32(templstArgName)].ToString(); 
    arr[Convert.ToInt32(templstName)] = arr[Convert.ToInt32(templstArgName)]; 
} 
4b9b3361

Ответ 1

Как говорили другие, установка свойства Image должна быть null.

Если это не так, это может означать, что вы использовали свойство InitialImage для отображения вашего изображения. Если это действительно так, попробуйте установить это свойство вместо null:

pictBox.InitialImage = null;

Ответ 2

Установка свойства Image в null будет работать нормально. Он очистит все изображения, которые в настоящее время отображаются в окне изображения. Убедитесь, что вы написали код точно так:

picBox.Image = null;

Ответ 3

if (pictureBox1.Image != null)
{
    pictureBox1.Image.Dispose();
    pictureBox1.Image = null;
}

Ответ 4

Я предполагаю, что вы хотите очистить изображения, нарисованные через PictureBox.

Это будет достигнуто с помощью объекта Bitmap и объекта Graphics. вы можете делать что-то вроде

Graphics graphic = Graphics.FromImage(pictbox.Image);
graphic.Clear(Color.Red) //Color to fill the background and reset the box

Это то, что вы смотрели?

РЕДАКТИРОВАТЬ

Поскольку вы используете метод рисования, это будет вызывать его перерисовку каждый раз, я бы посоветовал вам установить флаг на уровне формы, указывающий, следует ли рисовать Picturebox или нет.

private bool _shouldDraw = true;
public bool ShouldDraw
{
    get { return _shouldDraw; }
    set { _shouldDraw = value; }
}

В вашей краске просто используйте

if(ShouldDraw)
  //do your stuff

Когда вы нажимаете кнопку, установите для этого свойства значение false, и все будет в порядке.

Ответ 5

private void ClearBtn_Click(object sender, EventArgs e)
{
    Studentpicture.Image = null;
}

Ответ 6

pictBox1.Image = null;

Это работает на меня. Первоначальная вещь не работает в моем проекте.

Ответ 7

Вам нужно следующее:

pictbox.Image = null;
pictbox.update();

Ответ 8

У меня тоже был упрямый образ, который не исчезнет задав значение Image и InitialImage равным null. Чтобы удалить изображение из pictureBox навсегда, мне пришлось использовать код ниже, неоднократно вызывая Application.DoEvents():

            Application.DoEvents();
            if (_pictureBox.Image != null)
                _pictureBox.Image.Dispose();
            _pictureBox.Image = null;
            Application.DoEvents();
            if (_pictureBox.InitialImage != null)
                _pictureBox.InitialImage.Dispose();
            _pictureBox.InitialImage = null;
            _pictureBox.Update();
            Application.DoEvents();
            _pictureBox.Refresh();

Ответ 9

Мне пришлось добавить инструкцию Refresh() после Image = null, чтобы заставить все работать.

Ответ 10

Это так просто! Вы можете использовать событие нажатия кнопки, я использовал его со свойством кнопки Имя: "btnClearImage"

// Note 1a:
// after clearing the picture box 
// you can also disable clear button 
// by inserting follwoing one line of code:

btnClearImage.Enabled = false   

// Note 1b:
// you should set your button Enabled property
// to "False"
// after that you will need to Insert 
// the following line to concerned event or button
// that load your image into picturebox1 
// code line is as follows:

btnClearImage.Enabled = true;

Ответ 11

Вы должны попробовать. Когда вы очищаете свою графику, вы должны выбрать цвет. SystemColors.Control - это собственный цвет формы

Graphics g = pB.CreateGraphics();
g.Clear(SystemColors.Control);