当前位置: 首页 > 面试题库 >

从JAR文件将gif动画加载到ImageIcon

段干祺
2023-03-14
问题内容

我正在尝试从jar文件中存储的动画gif创建ImageIcon。

ImageIcon imageIcon = new ImageIcon(ImageIO.read(MyClass.class.getClassLoader().getResourceAsStream("animated.gif")));

图像加载,但仅加载动画gif的第一帧。动画不播放。

如果我从文件系统上的文件中加载动画gif,一切都会按预期进行。动画播放所有帧。所以这工作:

ImageIcon imageIcon = new ImageIcon("/path/on/filesystem/animated.gif");

如何从jar文件将动画gif加载到ImageIcon中?

编辑:这是一个完整的测试用例,为什么不显示动画?

import javax.imageio.ImageIO;
import javax.swing.*;

public class AnimationTest extends JFrame {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                AnimationTest test = new AnimationTest();
                test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                test.setVisible(true);
            }
        });
    }

    public AnimationTest() {
        super();
        try {
            JLabel label = new JLabel();
            ImageIcon imageIcon = new ImageIcon(ImageIO.read(AnimationTest.class.getClassLoader().getResourceAsStream("animated.gif")));
            label.setIcon(imageIcon);
            imageIcon.setImageObserver(label);
            add(label);
            pack();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

问题答案:

这从inputStream读取gif动画

InputStream in = ...;
Image image = Toolkit.getDefaultToolkit().createImage(org.apache.commons.io.IOUtils.toByteArray(in));


 类似资料:
  • 问题内容: 在iOS Swift中,我很难将动画GIF从设备图片库加载到UIImageView或从中创建.gif文件。如果它是服务器上的文件或正确在应用程序中,则显示动画GIF没问题。但是,当我从照片库中加载它时,会丢失动画。我找到了一些Objective- C解决方案,并试图将它们转换为Swift,但是没有任何运气。 这是我到目前为止的内容: 理想情况下,我想将照片库图像保存到服务器上的gif文

  • 问题内容: 我正在尝试在JLabel中加载动画GIF。 尽管这可行: 另一方面,这不是,我也不想从URL获取GIF,因为我已经有了GIF。加载结果仅显示GIF的第一帧: 我想一定是有原因的,但是我找不到。 谢谢!亚历克斯 问题答案: 您可以尝试像这样加载GIF文件: 或使用,如果你的背景是静态的。

  • 本文向大家介绍Android加载Gif动画实现代码,包括了Android加载Gif动画实现代码的使用技巧和注意事项,需要的朋友参考一下 Android加载Gif动画如何实现?相信大家都很好奇,本文就为大家揭晓,内容如下 主界面 自定义view 源码下载:http://xiazai.jb51.net/201610/yuanma/AndroidGifDemo(jb51.net).rar 以上就是本文的

  • 问题内容: 所以我有一个动画gif,我像这样加载到ImageIcon中: 我可以用这个画它: 我知道我可以使用AffineTransform动态地对其进行镜像,但是我需要能够在加载后对其进行水平镜像,以便可以根据需要绘制镜像的镜像,而无需每次重新绘制时都要对其进行转换的开销。有没有一种方法可以使用摆动/自动? 一个可以做到这一点的图书馆也将提供巨大的帮助。 问题答案: 正如您所指出的,问题是gif

  • 1.4. GIF动画 下面的程序会演示Go语言标准库里的image这个package的用法,我们会用这个包来生成一系列的bit-mapped图,然后将这些图片编码为一个GIF动画。我们生成的图形名字叫利萨如图形(Lissajous figures),这种效果是在1960年代的老电影里出现的一种视觉特效。它们是协振子在两个纬度上振动所产生的曲线,比如两个sin正弦波分别在x轴和y轴输入会产生的曲线。

  • 问题内容: 我尝试在我的网站中实施AJAX。单击div changepass的内容时,则应加载changepass.template.php。这是我为此使用的代码。 我的问题是在页面changepass.template.php完全加载时如何显示GIF动画(loading.gif)。请给我一些代码提示。 问题答案: 有很多方法可以做到这一点。一种简单的方法: JS: 詹姆斯·怀斯曼 ( James