Kirjautuminen

Haku

Tehtävät

Koodit: VB.NET: GIF-animaation ajaminen

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

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta