none
ImageAnimator RRS feed

  • Frage

  • Hallo.
    Wie bekomme ich einen ImageAnimator zum Laufen?

    Hab eine neue Klasse von Control abgeleitet und bisher den folgenden Code
    http://pastebin.com/m83ec5d4
    (Da ist noch mehr, aber der Rest hat warscheinlich nichts mit dem Problem zu tun. Außerdem: Per pastebin weil die gesamte Formatierungsleiste in Opera nicht funktioniert und mir der Code für das Einbinden von Code hier nicht geläufig ist)

    Wenn der Klasse ein neues Bild übergeben wird teste ich, ob es animierbar ist. Ist das der Fall wird die Animation mit ImageAnimator.Animate(bmp, sicheresRefresh); gestartet. sicheresRefresh soll eigentlich das ganze neu zeichnen, tut es aber nicht. Wenn ich die Control mit anderen Mitteln dazu bringe sich neu zu zeichnen kann man die Animation sehen, aber das ist keine brauchbare Lösung für mich.

    Hat jemand ne Ideen?
    Sonntag, 15. Juni 2008 15:00

Alle Antworten

  • Statt Refresh versuche mal Invalidate zu benutzen.

    Siehe auch http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invalidate(VS.80).aspx
    Dienstag, 17. Juni 2008 10:15
  • Eigentlich macht Refresh ja genau das, habs trotzdem mal ausprobiert: keine Änderung.

    Unter gewissen Umständen (eine bestimmte gif geladen, bewege die Maus über die Buttons der ToolBar des Forms, in dem sich meine BildBox befindet) bricht das Programm plötzlich ab, meistens ohne irgendwelche Meldungen. Ein oder zwei Mal gabs eine Fehlermeldung, irgendwas ungültiges mit GDI+

    Hat jemand ne Idee wie das überhaupt passieren kann?
    Sollte ich besser eine eigene Funktion zum Animieren von gifs schreiben?
    Dienstag, 17. Juni 2008 11:16
  • Hab in der Paint Methode noch ein ImageAnimator.UpdateFrames() (oder sowas ähnliches) eingefügt, jetzt funktioniert es zumindest teilweise. Eine gif wird komplett abgespielt (dass ist auch die, die das Program mit einem Fehler in GDI+ killt), bei einer anderen wird nur jedes 2. oder 3. Frame gezeigt.
    Donnerstag, 19. Juni 2008 12:26