资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net画图清除 vb怎么清除picture

在vb.net中,paintcanvas里面填满了颜色,我想通过点击一个按钮来完成清除整个画布内容的效果,

要用GreateGrahpics函数,比如要向 Panel1,填充颜色:

成都创新互联公司是网站建设技术企业,为成都企业提供专业的网站设计制作、成都网站制作,网站设计,网站制作,网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制适合企业的网站。10多年品质,值得信赖!

Dim g As Graphic=Panel1.CreateGraphics

Dim b as New Brush(Color.Blue)

g.FillRectangle(b,Panel1)

写的比较粗,意思就是这样的,你可以边看帮助边细细完成

在vb6.0的picturebox里面画了一条线,怎么过3秒之后清除掉~~~要求只清除这一条线

您是做游戏画面?

如果游戏简单的,看能否用Line控件代替画线,这样只要visible=false就擦除了,但如果有重叠问题,就要考虑把其他的线或坦克什么的都用控件代替。注意picturebox是否有autoredraw属性,有的话设置为true。有问题的话,把窗体的autoredraw也true,防止控件会擦除画上去的东西。

但是楼主要明白一个问题,那些绚丽多彩的游戏画面,不管2D还3D,都是一帧画面一帧画面的从头画一次的,每秒至少要画十几帧以上,3D游戏很关注一个fps参数,就是每秒画多少帧的意思,看您的电脑性能每秒能画多少帧画,如果画不出十几帧以上,感觉就卡了。

实际上游戏开发是先做游戏引擎,就是把这些复杂的纯绘图代码封装起来,做成一个工具软件,然后再把游戏里的物品图片放上去,设置动作、剧情就可以了。有兴趣可以百度一下“游戏开发引擎”,有一些通用的游戏引擎可以借用。

如果是从底层开始写代码,也不是用VB这些绘图语句能做的,太慢了,擦掉这条线都够你抓狂的。一般的,简单的画图可以用API的绘图函数,高档的就要用DirectX了。或者装个Visual Studio .net 2008,有个XNA,专门针对游戏编程的,但是我不知这个XNA是否只能支持C#语言。

补充声明一下,本人只是爱好者,不是专业人士,以上的回答是本人在自学过程中积累的一些肤浅了解,除了XNA很久前做过一点代码外,其他的都是理论没有实践。

vb.net 画图对象问题

参考一下下面这段代码:

‘ 首先picturebox1 加载一张图像

FolderBrowserDialog1.Description = "选择图片文件夹导入图片"

FolderBrowserDialog1.ShowDialog()

path = FolderBrowserDialog1.SelectedPath()

If path = "" Then Return

strSrcFile = Dir(path  "\*.tif")

PictureBox1.Image = Image.FromFile(path  "\"  strSrcFile)

’  然后再在picturebox1中用graphic画图而不清空原图像

' 建立一个画图对象

Dim g As Graphics = Me.PictureBox1.CreateGraphics

‘ 定义画笔

Dim myPen As System.Drawing.Pen = New System.Drawing.Pen(Color.Blue)

’ 画出矩形框并且填充颜色(颜色保持50%的透明度,使得下面原来的图片背景能看得到)

g.DrawRectangle(myPen, New System.Drawing.Rectangle(50, 50, 30, 20))

g.FillRectangle(New SolidBrush(Color.FromArgb(50, Color.YellowGreen)), New System.Drawing.Rectangle(50, 50, 30, 20))

' 最后释放画图对象

g.Dispose()

效果大致如下图所示:

用vb.net代码如何实现清空picturebox控件所加载的图片?

双击button,在代码窗中写入下面这句话:

this.pictureBox1.Image = null

就可以实现你说的功能啦


当前文章:vb.net画图清除 vb怎么清除picture
URL地址:http://cdkjz.cn/article/dosejec.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220