Imports System.ComponentModel
Imports System.IO
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Collections.Generic
Imports System.Windows.Forms
Imports gif.Components
Public Class Form1
Private imagesPaths As New List(Of String)
Private currentImageIndex As Integer
Private timer1 As New Timer
Private gifImage As Image
Private sourceImage As Bitmap
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
timer1.Interval = 100 ' 调整为 0.15 秒切换一张图片
AddHandler timer1.Tick, AddressOf Timer1_Tick
Timer2.Interval = 100 ' 调整为 0.15 秒切换一张图片
AddHandler Timer2.Tick, AddressOf Timer2_Tick
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.Filter = "图片文件|*.jpg;*.png;*.bmp;*.gif" ' 注意:添加了 *.gif 以允许选择 GIF 图片
openFileDialog1.Multiselect = True
If openFileDialog1.ShowDialog() = DialogResult.OK Then
imagesPaths.Clear()
For Each filePath As String In openFileDialog1.FileNames
imagesPaths.Add(filePath)
ListBoxImages.Items.Add(Path.GetFileName(filePath))
Next
End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
If imagesPaths.Count > 0 Then
currentImageIndex = 0
timer1.Start()
Else
MessageBox.Show("请先选择图片")
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
If currentImageIndex < imagesPaths.Count Then
Dim imagePath = imagesPaths(currentImageIndex)
Dim image As Image
If Path.GetExtension(imagePath).ToLower() = ".gif" Then
image = Image.FromFile(imagePath)
Else
image = New Bitmap(imagePath)
' 对非 GIF 图片进行缩放以适应 PictureBox
Dim newWidth As Integer = PictureBox1.Width
Dim newHeight As Integer = PictureBox1.Height
Dim newImage As Image = New Bitmap(image, newWidth, newHeight)
image = newImage
End If
PictureBox1.Image = image
currentImageIndex += 1
Else
timer1.Stop()
currentImageIndex = 0
End If
End Sub
Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If imagesPaths.Count > 0 Then
currentImageIndex = 0
timer2.Start()
Else
MessageBox.Show("请先选择图片")
End If
…
…
…
🎉精彩不容错过!新文章震撼登场,却因代码不全让人意犹未尽?别担心!我们为你准备了软件截图,让你先睹为快,感受其强大魅力。
✨如果你渴望解锁全部精彩内容,那么强烈建议你下载完整源代码。它将为你打开一扇通往编程新世界的大门,让你深入探索其中的奥秘,挖掘无限潜力。
🔗源代码下载网址:[https://download.csdn.net/download/qq_32257509/89629987]。赶紧行动起来,下载完整源代码,开启你的编程之旅吧!