1

我正在用 javafx 编写一个桌面应用程序,当我从 URL 源 (http) 将 gif 添加到 ImageView 时,它只播放 gif 的一部分。我什至尝试将 gif 下载到我系统上的文件中,但它仍然只播放了一秒钟。当我在浏览器中播放它时,它会完全播放。

如何将来自 giphy 或任何其他 gif 托管站点的 gif 显示到 imageview 中play the full duration

 public void retrieveGif() {

    System.out.println("retreiving gif");

    giphyImage.setImage(new Image("http://i.giphy.com/E2d2tsgz7iHo4.gif"));

}
4

1 回答 1

0

也许这个gif坏了。

我下载并调整大小并上传它的作品。

调整大小: https ://ezgif.com/resize

上传: https ://gifyu.com/

@Override
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("ImageView Experiment 1");

    String imgUrl = "https://s5.gifyu.com/images/test222466041f4e8599a.gif";
    URLConnection connection = new URL(imgUrl).openConnection();
    connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");
    Image image = new Image(connection.getInputStream());
    ImageView imageView = new ImageView();
    imageView.setImage(image);

    HBox hbox = new HBox(imageView);

    Scene scene = new Scene(hbox, 200, 200);
    primaryStage.setScene(scene);
    primaryStage.show();

}

public static void main(String[] args) {
    Application.launch(args);
}
于 2019-12-18T10:06:07.513 回答