我需要将图像分割成单独的幻灯片并将它们编译成.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
,我无法弄清楚我做错了什么。
答案 0 :(得分:0)
我使用的是具有部分透明度的.png,这使得一切都完全透明。我刚刚删除了固定一切的透明度