vb.net中读入图片
本人只会.net,不会Flash之类的软件。如题,在.net环境中编程,读入一组连续的图片(20张),使之像动画播放一样,就是往PictureBox中读照片,然后一张一张替换,达到动画的渐变效果。
我已经使用 x = new Time
x.Interval = 1
x.Enabled() = True
.
.
.
x.Enabled() = False
而且时间间隔已经设成最小的“1”了,不过效果还是不明显。
这里还有一点说明,有两组图片(各20张),一组是深蓝背景的花(300Kb/张),另一组是无背景的花(700Kb/张),做的都是渐渐盛开的图片(1-20)。
无背景的图片按照“x.Interval = 1”,一张一张替换得很圆滑,一点都不卡,但是有背景图片在同样的设置下卡得很厉害,大家有没有知道是什么原因的呢? --------------------编程问答-------------------- 1.图片大小很大?可以通过图片处理软件处理小点
2.可以考虑一开始把所有图片先读进内存 --------------------编程问答-------------------- 把图片先读进内存应该是个好办法。那样提取应该会快一些吧 --------------------编程问答-------------------- 改一下,不要用图片框的载入方法,使用graphic.drawbitmap方法,把你的图片全转换成bitmap对象在画在图片框 --------------------编程问答-------------------- 谢谢以上各位的提议,我会试一试的。 --------------------编程问答-------------------- 以上各位的 建议中,我采用了读入内存的办法,不过还是效果不大。下边是代码:
Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles PictureBox2.Click
test = New Timer()
test.Interval = 1
test.Enabled = True
End Sub
Private Sub test_Tick(ByVal sender As Object, ByVal e As System.EventArgs)
Handles test.Tick
If ind < 26 And ind > 6 Then
path_str = str + ind.ToString + ".jpg"
Input = New System.IO.FileStream(path_str, IO.FileMode.Open)
PictureBox2.Image = Image.FromStream(Input)
Input.Close()
ind += 1
Else
ind = 7
test.Enabled = False
End If
如果批量读入内存,然后再分别显示在PictyureBox里怎么做呢?大家给些提示吧。 --------------------编程问答-------------------- Dim dp As System.IO.DirectoryInfo
dp = New DirectoryInfo(图片路径)
For Each d As FileInfo In dp.GetFiles
Next
然后操作dp好像就可以了吧
所有的图片都在这个文件中了。
你试试! --------------------编程问答-------------------- 先将图片读到内存中,再显示出来。
Dim reader As SqlDataReader = Sqlcmd.ExecuteReader()
If Not reader.HasRows Then
If Not pictureBox2.Image Is Nothing Then
pictureBox2.Image.Dispose()
pictureBox2.Image = Nothing
End If
reader.Close()
SqlConn.Close()
Return
End If
reader.Read()
Dim bufPhoto As MemoryStream = Nothing
Dim image As Image = Nothing
bufPhoto = New MemoryStream(CType(reader(0), Byte()))
image = image.FromStream(bufPhoto, True)
pictureBox2.Image = image
reader.Close()
补充:.NET技术 , VB.NET