将GIF图像转换为32位深度的PNG格式

时间:2013-06-19 14:43:06

标签: java image png converter gif

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

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

1 个答案:

答案 0 :(得分:2)

只需转换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);