是否有人设法说服ImageIO编写动画GIF,尤其是设置正确的元数据?我的第一次尝试大致如下(其中b1和b2是BufferedImages):
ImageTypeSpecifier spec = new ImageTypeSpecifier(b1);
ImageWriter wr = ImageIO.getImageWriters(spec, "GIF").next();
wr.setOutput(ImageIO.createImageOutputStream(new File("C:\\Flashing.gif")));
ImageWriteParam param = wr.getDefaultWriteParam();
IIOMetadata meta = wr.getDefaultImageMetadata(spec, param);
wr.prepareWriteSequence(meta);
wr.writeToSequence(new IIOImage(b1, null, null), param);
wr.writeToSequence(new IIOImage(b2, null, null), param);
这似乎几乎可以工作,但是:
如果有人能够从ImageIO编写动画GIF来工作,并且可以共享一小段工作代码或如何解决上述问题,将不胜感激!
最佳答案
我遇到了这个问题,决定尝试一下。创建一个可用的类花了少量但不平凡的事情(感谢ax)-所以我想我可以分享周围的代码:here是一个小类,用于从许多其他图像中创建动画gif图像。 Archived version