0

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

有没有办法强制它们进入 32 位深度?最好的办法是使用javax.imageio.ImageIO图书馆。

4

1 回答 1

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);
于 2013-06-19T15:10:44.327 回答