清除图片框中的图像

时间:2009-09-10 06:18:15

标签: vb.net

我有一个带有图片框的表格,可以画一张自由的手势。

我添加了form_load中图像的初始化和清除按钮的单击事件。当我单击清除按钮时,图像被清除,鼠标移动到图片框上,将显示最后绘制的图像。

我的问题是,如何验证图片框是否为空? 只是我不想允许保存空图像。

6 个答案:

答案 0 :(得分:11)

PictureBox1.Image = Nothing

答案 1 :(得分:5)

Private Sub ClearPictureBox(pb As PictureBox)
    pb.Image = Nothing
    pb.BackColor = Color.Empty
    pb.Invalidate()
End Sub

答案 2 :(得分:1)

C#     bool clearImage;     clearButton_Click(...)     {       clearImage = true;       img.Invalidate();     }

img_Paint(...)
{
  if (clearImage)
  {
    clearImage = false;
    e.Graphics.Clear(Color.White);
  }
}

VB.NET

Private clearImage As Boolean 
Private Sub button_click(ByVal sender As Object, ByVal e As eventargs) Handels....
    clearImage = True
    img.Invalidate()
End Sub
Private Sub img_Paint(ByVal sender As Object, ByVal e As ...) Handels ....
    If clearImage Then
        clearImage = False
        e.Graphics.Clear(Color.White)
    End If
End Sub

答案 3 :(得分:1)

如果您需要在图片框中重置图片,可以执行此代码(在c#中)

  private void  your_name_picturebox_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        your_name_picturebox.Image=null;
     }

答案 4 :(得分:0)

您的代码中可能存在一些逻辑错误。检查mousemove或mousehover事件,确保它没有将图像分配给图片框。

您可以清除现有图像,而不是使用按钮不为新图像指定任何内容。这可能更好,因为您不必再​​创建新图像,然后再次绘制它。

g = Graphics.FromImage(PictureBox1.Image)
g.Clear(PictureBox1.BackColor)

答案 5 :(得分:0)

我只画了一个填充的空白矩形来覆盖代码开头的图像

Dim graph As Graphics = pbChart.CreateGraphics
               'to clear image
        graph.FillRectangle(Brushes.Azure, 0, 0, 500, 500)