首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX GIF没有播放完整的GIF

JavaFX GIF没有播放完整的GIF
EN

Stack Overflow用户
提问于 2021-09-20 15:35:13
回答 1查看 314关注 0票数 0

我试图在JavaFX上的一个场景中显示一个GIF,我在场景中显示它,它播放,但它循环回开始之前,完整的GIF播放。GIF是216帧,大约30秒长。这就是为什么它不玩整件事吗?还是有办法让它发挥全部?

代码语言:javascript
复制
rules.setOnAction(new EventHandler<ActionEvent>() {
        @Override public void handle(ActionEvent e) {
            Stage rulesWindow = new Stage();

            Pane r_2 = new Pane(tutorialView);
            Scene sc = new Scene(r_2,width/2,height/2);
            rulesWindow.setScene(sc);

            tutorialView.setFitWidth(width/2);
            tutorialView.setFitHeight(height/2);
            rulesWindow.show();

        }
    });

我在方法之外实例化了tutorialView,所以在代码的这一部分中看不到它。

这是完整的GIF

我不能上传它播放的内容,因为文件太大了,但是如果你看完整的GIF,它就会在绿色圆圈第一次出现的地方停止

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-22 08:58:56

我试着在Windows上播放gif,使用JRETemurin16.0.2(采用的java运行时)和JavaFX 17.0.0.1,这起作用(一直播放)。

然后,我尝试在JavaFX 16上运行相同的测试应用程序,它在播放整个动画之前(在动画中出现绿色点之前)开始循环。

因此,JavaFX 16像米歇尔描述的那样复制了这个问题,而JavaFX 17修复了由于错误修复造成的问题(正如何塞所预测的)。

因此,如果使用长时间运行的gifs,请确保使用的是JavaFX 17+。

测试代码(使用问题中的gif ):

代码语言:javascript
复制
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class GifTest extends Application {
    @Override
    public void start(Stage stage) {
        Scene scene = new Scene(
                new StackPane(
                        new ImageView(
                                GifTest.class.getResource(
                                        "game.gif"
                                ).toExternalForm()
                        )
                )
        );

        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

如果您想要对播放进行更多的控制,或者如果您必须使用早期的JavaFX版本以及中断的gif播放,则可以使用自己解码并将其作为动画播放。。也请参阅这个基于sprite的回放

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69257184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档