图片框图像清除

时间:2009-09-16 09:40:02

标签: vb.net

我通过此代码在我的解决方案中创建了一个绘图应用程序。通过这个我可以在图片框中绘制图像并且可以保存。当我点击清除按钮时,图片框上的图像被清除但问题是在清除图像后我无法在没有表格重新加载的情况下在图片框中绘制任何东西

dim mousepath as new system.drawing.drawing2d.graphicspath()

in pageload 
picturebox1.image=new bitmap(picturebox1.clientsize.height,picturebox1.clientsize.width)

picturebox1_paint(...)
myusercolor=(sysytem.drawing.color.black)
myalpha=100
using g as graphics=graphics.fromimage(picturebox1.image)
g.clear(color.white)
dim currentpen as pen=new pen(color.fromargb(myalpha,myusercolor),mypenwidth) g.drawpath(currentpen,mousepath) 

in mousedown
if e.button=mousebutton.left then
mousepath.startfigure()
end if

in mousemove
if e.button=mousebutton.left then
mousepath.addline(e.x,e.y,e.x,e.y)
end if
picturebox1.invalidate

clearbutton_click
picturebox1.image.dispose()
picturebox1.image=nothing

问题: 如果有人知道这个问题的解决方案请帮助我。这对我来说非常重要。谢谢你

1 个答案:

答案 0 :(得分:1)

当你清除时,你设置picturebox1.image = nothing,但是你的Graphics对象来自那个图像。这就是为什么它不起作用。第一次清除时必须设置新的位图:

picturebox1.image=new bitmap(picturebox1.clientsize.height,picturebox1.clientsize.width)
mousepath.Reset();