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



这是一个将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);

最新更新