gpt4 book ai didi

java - 在 Java 程序中存储动画 GIF 图像

转载 作者:行者123 更新时间:2023-11-30 10:52:26 26 4
gpt4 key购买 nike

在 Java 程序中,您可以将 .png、.jpg 等图像存储在 BufferedImage 中。我认为它不适用于动画 gif 图像,因为它似乎失去了动画效果。

目前我得到的正常图像如下:

BufferedImage image = ImageIO.read(new URL(images.get(x)));
String type = images.get(x).substring(images.get(x).length() - 3, images.get(x).length());
ImageIO.write(image, type, new File(title + "/" + filename));

其中 images 是 URL 的 String[]

至于 gif,我通过以下方式获取它们:

byte[] b = new byte[1];
URL url = new URL(images.get(x));
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
DataInputStream di = new DataInputStream(urlConnection.getInputStream());

FileOutputStream fo = new FileOutputStream(title + "/" + filename);
while (-1 != di.read(b, 0, 1) && downloading)
fo.write(b, 0, 1);
di.close();
fo.close();

但我想将它们存储在程序中,下次再将它们写入文件。如何在不将 GIF 写入文件但同时保留其动画的情况下存储 GIF?

最佳答案

如果您只对将 gif 图像存储在内存中感兴趣,而不想让它从 java 程序中显示出来。您可以将收到的数据写入 ByteArrayOutputStream而不是 FileOutputStream,然后获取生成的字节数组,稍后将其写入 FileOutputStream

如果您想显示动画 gif,您可能需要查看 this post 中的最佳答案。 ,虽然对答案的第一条评论似乎有与您类似的问题。

关于java - 在 Java 程序中存储动画 GIF 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34345991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com