vb.net画直线擦除 用vb画一条直线

C#在pictureBox控件上画的直线被其他窗口挡一下,直线就被擦除掉 , 要重新画 。方法1:写在Paint事件中,这样就不会消失在PictureBox中 。
方法2:绘制到图形对象里,而不是简单是用画笔画线
看下面的代码,s_Bmp可以持久显示,s_pen则不行,
不好意思我这是vb.net代码,道理一样,不难看懂...
private sub s_Bmp()
Dim Bmp As Bitmap
Dim Gra As Graphics
Dim Pen As New Pen(Color.White)
Bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height)
Gra = Graphics.FromImage(Bmp)
Dim Dia As Single = Math.Min(PictureBox1.Height, PictureBox1.Width) * 0.5!
Gra.DrawArc(Pen, (PictureBox1.Width - Dia) / 2.0!, (PictureBox1.Height - Dia) / 2.0!, Dia, Dia, 0, 360)
Gra.DrawLine(Pen, 0, 0, PictureBox1.Width / 2.0!, PictureBox1.Height / 2.0!)
PictureBox1.Image = Bmp
end sub
private sub s_Pen()
Dim Gra As Graphics = PictureBox1.CreateGraphics()
Dim Pen As New Pen(Color.Magenta)
Dim Dia As Single = Math.Min(PictureBox1.Height, PictureBox1.Width) * 0.5!
Gra.DrawRectangle(Pen, (PictureBox1.Width - Dia) / 2.0!, (PictureBox1.Height - Dia) / 2.0!, Dia, Dia)
【vb.net画直线擦除 用vb画一条直线】end sub
VB.Net中画直线问题不想整个重画,最好用单色的背景,例如黑色,线条是白色的
用变量把线条的内容备份
当想改变线条的位置或者长度之前,先用存下来的变量以黑色重画一次,覆盖原来的白色线条
然后再画新的白色线条,这种重画方法比较节省资源
假如需要用花哨的背景或者图片当背景,也可以用局部重回的方式 。
代码就不提供了 , 只提供思路 。
如何用VB清除所画直线,是选择性清除,不是全部清除,可以实现么?可以,原来怎么画线,再重新画一遍,只是前景色设置成和背景色一样就可以
在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运行后,在窗体上画几条线,怎么编写程序删除其中的一条线在VB中,没有删除已经绘制的某一条线的语句 , 解决的方法与思路是:
1 , 用Cls方法 , 清除所有已经绘制的图形 。
2,重新绘制除了那条要删除的直线的以外所有图形 。
通过以上两部,相当于你的要求 。
vb.net画直线擦除的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于用vb画一条直线、vb.net画直线擦除的信息别忘了在本站进行查找喔 。

    推荐阅读