打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
vb制作的屏保系统,由多张图片循环播放,如何在图片播放时加上一定的特效,比如百叶窗等等,就像PPT制作的

'两个时钟,两个图片框,自己设定图片框2的大小,比如让它和窗体一样大
Dim Pic_num As Long
Dim Pic_name() As String

Dim pic_star As Long
Dim p_width As Single
Dim p_height As Single
Dim bili_w As Single
Dim bili_h As Single
Dim v_mod As Long

Private Sub Form_Load()
 Dim L_name As String
 
 Pic_num = 0
 ReDim Pic_name(Pic_num)
 L_name = Dir(App.Path & "\pic\*.JPG")
 Do While L_name <> ""
 ReDim Preserve Pic_name(Pic_num)
 Pic_name(Pic_num) = L_name
 Pic_num = Pic_num + 1
 L_name = Dir
 Loop
 
 L_name = Dir(App.Path & "\pic\*.jpg")
 Do While L_name <> ""
 ReDim Preserve Pic_name(Pic_num)
 Pic_name(Pic_num) = L_name
 Pic_num = Pic_num + 1
 L_name = Dir
 Loop
 Picture1.AutoSize = True
 Picture1.AutoRedraw = True
 Picture1.Visible = False
 Picture2.AutoSize = False
 Picture2.AutoRedraw = True
 Picture2.Visible = True
 Timer1.Interval = 1
 Timer1.Enabled = False
 Timer2.Interval = 5
 Timer2.Enabled = False
 If Pic_num > 0 Then
 Picture1.Picture = LoadPicture(App.Path & "\pic\" & Pic_name(0))
 Picture2.PaintPicture Picture1.Picture, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight
 Timer1.Enabled = True
 Timer1.Interval = 1000
 Else
 MsgBox ("没有图片显示!")
 End If
End Sub

Private Sub Form_Resize()
 Picture2.Width = Me.Width
 Picture2.Height = Me.Width
 Picture2.Top = 0
 Picture2.Left = 0
End Sub

Private Sub Timer1_Timer()
 Dim L_id As Long
 Randomize
 L_id = Int(Pic_num * Rnd)
 Picture1.Picture = LoadPicture(App.Path & "\pic\" & Pic_name(L_id))
 
 bili_w = Picture1.ScaleWidth / Picture2.ScaleWidth
 bili_h = Picture1.ScaleHeight / Picture2.ScaleHeight
 p_width = Picture2.Width / 100
 p_height = Picture2.Height / 160
 
 pic_star = 0
 
 Randomize
 v_mod = Int(9 * Rnd)
 Timer1.Enabled = False
 Timer2.Enabled = True
 Picture2.Cls
End Sub

Private Sub Timer2_Timer()

 If pic_star < 101 Then
 pic_star = pic_star + 1
         Select Case v_mod
            Case 0
                 Picture2.PaintPicture Picture1.Picture, 0, 0, Me.Width, pic_star * p_height, 0, 0, Picture1.Width, bili_h * pic_star * p_height '从上向下
            Case 1
                 Picture2.PaintPicture Picture1.Picture, 0, 0, pic_star * p_width, Me.Height, 0, 0, bili_w * pic_star * p_width, Picture1.Height '从左向右
            Case 2
                 Picture2.PaintPicture Picture1.Picture, 0, 0, Me.Width, pic_star * p_height, 0, 0, Picture1.Width, Picture1.Height '压缩的从上向下
            Case 3
                 Picture2.PaintPicture Picture1.Picture, 0, 0, pic_star * p_width, Me.Height, 0, 0, Picture1.Width, Picture1.Height '压缩的从左向右
            Case 4
                 Picture2.PaintPicture Picture1.Picture, 0, 0, pic_star * p_width, pic_star * p_height, 0, 0, Picture1.Width, Picture1.Height '压缩的从左上向右下
            Case 5
                 Picture2.PaintPicture Picture1.Picture, Me.Width - pic_star * p_width, Me.Height - pic_star * p_height, pic_star * p_width, pic_star * p_height, 0, 0, Picture1.Width, Picture1.Height '压缩的从右下向左上
            Case 6
                 Picture2.PaintPicture Picture1.Picture, Me.Width / 2 - pic_star * p_width / 2, 0, pic_star * p_width / 2, Me.Height, 0, 0, Picture1.Width / 2, Picture1.Height '压缩的从中向左
                 Picture2.PaintPicture Picture1.Picture, Me.Width / 2, 0, pic_star * p_width, Me.Height, Picture1.Width / 2, 0, Picture1.Width, Picture1.Height   '压缩的从中向右
            Case 7
                 Picture2.PaintPicture Picture1.Picture, 0, Me.Height / 2 - pic_star * p_height / 2, Me.Width, pic_star * p_height / 2, 0, 0, Picture1.Width, Picture1.Height / 2 '压缩的从中向上
                 Picture2.PaintPicture Picture1.Picture, 0, Me.Height / 2, Me.Width, pic_star * p_height, 0, Picture1.Height / 2, Picture1.Width, Picture1.Height '压缩的从中向下
            Case 8
                 Picture2.PaintPicture Picture1.Picture, Me.Width / 2 - pic_star * p_width / 2, Me.Height / 2 - pic_star * p_height / 2, pic_star * p_width / 2, pic_star * p_height / 2, 0, 0, Picture1.Width / 2, Picture1.Height / 2 '压缩的从中向左上
                 Picture2.PaintPicture Picture1.Picture, Me.Width / 2, Me.Height / 2, pic_star * p_width, pic_star * p_height, Picture1.Width / 2, Picture1.Height / 2, Picture1.Width, Picture1.Height '压缩的从中向右下
                 Picture2.PaintPicture Picture1.Picture, Me.Width / 2, Me.Height / 2 - pic_star * p_height / 2, pic_star * p_width / 2, pic_star * p_height / 2, Picture1.Width / 2, 0, Picture1.Width / 2, Picture1.Height / 2 '压缩的从中向右上
                 Picture2.PaintPicture Picture1.Picture, Me.Width / 2 - pic_star * p_width / 2, Me.Height / 2, pic_star * p_width / 2, pic_star * p_height / 2, 0, Picture1.Height / 2, Picture1.Width / 2, Picture1.Height / 2 '压缩的从中向左下
            Case 9
                 For k = 0 To 9
                     Picture2.PaintPicture Picture1.Picture, 0, k * Me.Height / 10, Me.Width, 5 * pic_star * p_height / 10, 0, k * (Picture1.Height / 10), Picture1.Width, (Picture1.Height / 10) '水平百叶窗
                 Next
                 If pic_star = 21 Then
                    pic_star = 101
                 End If
     End Select
  
 Else
 pic_star = 0
 Timer1.Enabled = True
 Timer2.Enabled = False
 End If
End Sub
 
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
VB PaintPicture(第1篇)
PaintPicture
H.264视频编码在VC++.Net中的实现
一个自己写的php验证码生成类
【图片特效】JS水纹切片特效的多幅图片切换效果
h.264码流解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服