如何在PictureBox中创建照片幻灯片?

时间:2012-03-20 10:42:55

标签: vb.net

任何人都可以帮我解决如何在PictureBox中放置1张以上的图片,然后逐一显示所有图片,使其看起来像是一个小型幻灯片吗?

我正在开展一个项目,需要我在表单上显示我的所有产品。

1 个答案:

答案 0 :(得分:1)

假设WinForms,因为你想使用PictureBox。

最简单的方法是将图像保存在列表中并使用计时器更新PictureBox:

Public Class Form1
  Private images As New List(Of Image)
  Private index As Integer

  Public Sub New()
    InitializeComponent()

    images.Add(CreateImage(Color.Blue))
    images.Add(CreateImage(Color.Red))
    '// images.Add(Image.FromFile("c:\myimage.png")

    Timer1.Interval = 1000
    Timer1.Start()
  End Sub

  Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
    If images.Count > 0 Then
      If index >= images.Count Then
        index = 0
      End If
      PictureBox1.Image = images(index)
      index += 1
    End If
  End Sub

  Private Function CreateImage(ByVal whichColor As Color) As Image
    Dim bmp As New Bitmap(64, 64)
    Using g As Graphics = Graphics.FromImage(bmp), _
          br As New SolidBrush(whichColor)
      g.Clear(Color.White)
      g.FillEllipse(br, New Rectangle(1, 1, 61, 61))
    End Using
    Return bmp
  End Function

End Class

CreateImage功能仅用于演示。您可以使用Images.FromFile(...)函数调用替换它以加载您自己的图像。相应地调整计时器。