Kirjoittaja: ErroR++
Kirjoitettu: 30.04.2012 – 30.01.2015
Tagit: grafiikka, koodi näytille, vinkki
GIF-animaatiot ovat hauskoja, jos niiden kehykset vaihtuvat. VB.NET ei tätä itsestään tee, joten se on tehtävä itse. Tämä koodivinkki kertoo, kuinka vaihdetaan kuvan framet (kehykset) järjestyksessä.
Formin asetuksissa olisi hyvä olla päällä DoubleBuffered, jotta kuva ei välkkyisi. Laita formille Timer tmrUpdate, Interval 50.
Imports System.Drawing Imports System.Drawing.Imaging Public Class MainForm 'esitellään muuttuja, joka kertoo nykyisen kehyksen Dim currentFrame As Integer Private Sub MainForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 'ladataan kuva Me.BackgroundImage = Image.FromFile("C:\animaatio.gif") 'käynnistetään ajastin tmrUpdate.Start() End Sub Private Sub tmrUpdate_Tick(sender As System.Object, e As System.EventArgs) Handles tmrUpdate.Tick 'kasvatetaan laskuria currentFrame += 1 'jos meinaa mennä rajojen yli, aloitetaan alusta If currentFrame > Me.BackgroundImage.GetFrameCount(FrameDimension.Time) - 1 Then currentFrame = 0 'vaihdetaan kehys Me.BackgroundImage.SelectActiveFrame(FrameDimension.Time, currentFrame) 'päivitetään Me.Refresh() End Sub End Class