GifSequenceWriter创建白色Gif

时间:2016-02-25 04:06:14

标签: java gif

我需要将图像分割成单独的幻灯片并将它们编译成.gif文件,但.gif最终会变为纯白色。每张幻灯片都是32x32像素,它们水平堆叠,两者之间没有空格。我使用课程GifSequenceWriter和我的代码:

/**
 * @param args the command line arguments
 * @throws java.io.IOException
 */
public static void main(String[] args) throws IOException {
    String image = "Image.png";
    BufferedImage entireSelection = ImageIO.read(new File(image));

    int numOfSlides = entireSelection.getHeight()/32;
    BufferedImage[] slides = new BufferedImage[numOfSlides];

    for(int i = 0; i<numOfSlides; i++){
        slides[i] = entireSelection.getSubimage(0,i*32, 32, 32);

    }

    createGif(slides);
}

private static void createGif(BufferedImage[] slides) throws IOException {
    ImageOutputStream output = new FileImageOutputStream(new File("FinalGif.gif")); 
        GifSequenceWriter writer = new GifSequenceWriter(output, slides[0].getType() ,1,false);

        for (BufferedImage slide : slides) {
            writer.writeToSequence(slide);
        }
        writer.close();
        output.close();
}

我已经阅读了如何使用Writer,我无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:0)

我使用的是具有部分透明度的.png,这使得一切都完全透明。我刚刚删除了固定一切的透明度