Here是将GIF图像转换为PNG格式的解决方案。问题是生成的PNG图像的深度为8位(至少在我的情况下)。
有没有办法迫使它们处于32位深度?最好的方法是使用javax.imageio.ImageIO
库。
答案 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);