admin 管理员组文章数量: 1086937
Java使用Imageio拆分gif图片时保存的图片变为黑色
在拆分GIF图片时,遇到最后保存的图片变为黑色问题。代码如下:
public static void splitGif(String filename,String path){try{GifDecoder decoder = new GifDecoder();decoder.read(filename);int n = decoder.getFrameCount();System.out.println("n : "+n);String[] subPic = new String[n];for ( int i =0; i<n;i++){BufferedImage frame = decoder.getFrame(i);subPic[i] = path+String.valueOf(i)+".jpg";FileOutputStream out = new FileOutputStream(subPic[i]);ImageIO.write(frame,"JPEG",out);JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);encoder.encode(frame);out.flush();out.close();}}catch (Exception e){System.out.println("split gif fail");e.printStackTrace();}}
保存到本地的图片:
在尝试了几次之后,发现一个问题时,formatName不能为"JPEG"或者“JPG”,否则就会出现结果为黑色。将formatName修改为“PNG”后结果正常。
本文标签: Java使用Imageio拆分gif图片时保存的图片变为黑色
版权声明:本文标题:Java使用Imageio拆分gif图片时保存的图片变为黑色 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1688004671a167710.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论