我正在用javafx编写一个桌面应用程序,当我将一个gif从URL源(http)添加到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"));
}
答案 0 :(得分:0)
此gif可能已损坏。
我下载并调整了大小并上传了它。
调整大小: https://ezgif.com/resize
@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);
}