十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
***怎样让移动图像显示更快一些*** Hide Controls When Setting Properties to Avoid Multiple Repaints Every repaint is expensive. The fewer repaints Visual Basic must perform, the faster your application will appear. One way to reduce the number of repaints is to make controls invisible while you are manipulating them. For example, suppose you want to resize several list boxes in the Resize event for the form: Sub Form_Resize () Dim i As Integer, sHeight As Integer sHeight = ScaleHeight / 4 For i = 0 To 3 lstDisplay(i).Move 0, i * sHeight, _ ScaleWidth, sHeight Next End Sub This creates four separate repaints, one for each list box. You can reduce the number of repaints by placing all the list boxes within a picture box, and hiding the picture box before you move and size the list boxes. Then, when you make the picture box visible again, all of the list boxes are painted in a single pass: 在vb中用move方法移动图片时,速度有些慢,当图片很大时,这时可以用下面的方法: Sub Form_Resize () Dim i As Integer, sHeight As Integer picContainer.Visible = False picContainer.Move 0, 0, ScaleWidth, ScaleHeight sHeight = ScaleHeight / 4 For i = 0 To 3 lstDisplay(i).Move 0, i * sHeight, _ ScaleWidth, sHeight Next picContainer.Visible = True End Sub Note that this example uses the Move method instead of setting the Top and Left properties. The Move method sets both properties in a single operation, saving additional repaints.
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的建平网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
给你提供一个思路,
你既然知道BITBLT,基础不会太差的,我就简单明了的说下.
从你的问题看,最简单的方法,其实只需要一个picturebox.
然后定义一个4*3的Image数组img(3,2).横4纵3.
img(0,0)装入第一张图片,
img(1,0)装入第二张图片,
img(3,0)不使用.
以此类推,img(3,1)也不使用,
####但是,img(3,2)虽然不装入图片,
####其功能却和你思路中的"没图片的picturebox"相同.
我们可以定义两个变量x
,
y
As
Integer
初始的时候x=3,y=2,应该看出来了吧?这两个变量用来保存空白image的位置,方便你移动图片.
有了这种结构,剩下的工作就很简单了.
写一个方法来处理按键消息.例如:
如果此时x=1,y=1,用户按下了"上键",那么img(x,y)和Image(x,y-1)交换.然后y=y-1
如果此时x=1,y=1,用户按下了"左键",那么img(x,y)和image(x-1,y)交换.然后x=x-1
其实就是移动空白位置的方法.但是要注意,img(3,0),img(3,1),img(3,2)这三个特殊位置要做特殊处理.
最后,写个for循环,把img数组显示到picturebox上面就可以了.
很简单吧?不知道我说得是否清楚?
希望对你有所帮助.
不是语言让图片动起来的,而是图片本身就能动,例如gif格式图片本身就是动画。如果你讲的是图片在网页上移动,而不是图片本身内容的动作,那么不是vb.net的功能必须用java脚本来实现。