Wie kann ich aufhören ein animiertes GIF in JavaFX?
Ich will ein animiertes GIF in mein Projekt, aber ich weiß nicht, wie ich aufhören kann die loop-animation. Ich meine, ich will die GIF-spielen nur 1 mal.
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nicht getan habe, GIF-animation, war nicht einmal bewusst, dass JavaFX würde über Methoden für das starten und stoppen Sie. Wünschen Sie eine animation mit Bildern, die ich eher vorschlagen, Sie tun es frame by frame selbst. Auf diese Weise haben Sie die volle Kontrolle über Sie und Sie kann mehr als nur 256 Farben im Bild.
Las ich einen sehr guten Artikel über Erstellen eines Sprite-Animationen mit JavaFX in Mike ' s blog.
Es ist sehr einfach zu tun. Erweitern Sie einfach die Übergang Klasse, fügen Sie ein Bildansicht und Umsetzung des Übergangs Interpolate-Methode.
Edit: oh, und übrigens, GIFs haben eine loop-flag, das sagt Ihnen zu spielen Sie entweder in einer Schleife oder nicht in einer Schleife wiedergegeben. In anderen Worten: In der Theorie könnte man ändern Sie die GIF-Datei die loop-Eigenschaft. In der Theorie nur, weil ich gerade versucht mit der Angabe nur einmal wiederzugeben und in JavaFX er spielte noch in einer endlos-Schleife, während in FireFox die es einmal gespielt. Durch die Art und Weise, JavaFX scheint es nicht zu unterstützen, animierte PNGs (APNG), die Unterstützung von mehr als 256 Farben. Also die automatische Bild-animation Fähigkeiten sind sehr begrenzt. Am besten die animation selbst.
Ich hoffe, jemand kommt mit etwas besser, aber hier ist ein Beispiel code, wie könnte man die volle Kontrolle über Ihre gif.
Bietet es eine pause - /fortsetzen-Taste zum testen. Was Sie brauchen, außerdem ist die Gif-Decoder-code und eine animierte banana.gif.
btPause.setOnAction( e -> ani.pause());
e
im dass kommen aus? Wie es scheint, ein geheimnisvoller Brief, aber es funktioniert, und ich kann nicht finden, eine variable e.e
stelltevent
imActionEvent event
. Im Grunde ist es eine kurze version von Beispiel 3setOnAction
hier.