如何在Java中创建动画GIF?

2022-09-03 08:10:43

我想从BufferedImages集合中创建一个gif图像。我该怎么做?纯Java中有这样的库吗(ImageMagick不是一个选项)?我找到了Gif4J库,但它不是免版税的。


答案 1

我只是在这里回答了一个类似的问题,但我认为我的解决方案可以提供帮助。

“ImageIcon”类允许您加载gif动画。我用'getResource()'加载图像。为此,我通常使用URL类来传递文件路径。在远程计算机中,路径不需要像名称 URL 可能暗示的那样。

URL url = This.class.getResource(path);
Icon myImgIcon = new ImageIcon(url);
JLabel imageLbl = new JLabel(myImgIcon);
component.add(imageLbl, BorderLayout.CENTER);

path 将是类文件夹内 gif 的路径。

参考资料: http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html#getresource


答案 2

有一个图像处理库,类似于毕加索,它使用与Lifelogger提到的相同的AnimaltGifEncoder类 - Glide DocsGlide

 AnimatedGifEncoder e = new AnimatedGifEncoder();
 e.start(outputFileName);
 e.setDelay(1000);   // 1 frame per sec
 e.addFrame(image1);
 e.addFrame(image2);
 e.finish();

推荐