java - 将 GIF 图像转换为 PNG 格式,32 位深度

标签 java image png converters gif

Here是将 GIF 图像转换为 PNG 格式的解决方案。问题是生成的 PNG 图像的深度为 8 位(至少在我的情况下是这样)。

有没有办法强制它们采用 32 位深度?最好的方法是使用 javax.imageio.ImageIO 库。

最佳答案

只需转换BufferedImage,使用所需的颜色模型重新绘制副本即可。效率不是很高,但很实用:

      File input = new File("/tmp/input.gif");
      File output = new File("/tmp/output.png");
      BufferedImage im1 = ImageIO.read( input );
      BufferedImage im2 = new BufferedImage(im1.getWidth(), im1.getHeight(), 
                BufferedImage.TYPE_4BYTE_ABGR);
      im2.getGraphics().drawImage(im1, 0, 0, null);
      ImageIO.write(im2 , "png", output);

关于java - 将 GIF 图像转换为 PNG 格式,32 位深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194259/

相关文章:

java - 如何在 Java 中重构这个 HashSet

java - 在 Android 中移动形状

javascript - 使图像占屏幕的百分比而不是像素?

javascript - 使用 node-gd 对 png 缓冲区进行 Base64 编码

file - 为什么.png文件的第一个字节是0x89?

javascript - 图片 png 颜色 css 或 html 或 javascript

java - hibernate 中的 join 和 where 子句

java - 如何从java小程序视觉输出创建图像?

c - 尝试按字节读取图像字节时出现段错误 11

java - 将 HttpRequest 对象作为参数传递给其他对象方法是个坏主意吗?