Очистить изображение на картинке
Как я могу очистить изображение на картинке? Следующее не помогает мне:
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)];
}
Ответы
Ответ 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);
Ответ 12
очистить pictureBox в приложении С# winform Простой способ очистить pictureBox в приложении С# winform