用Java编写GIF文件

时间:2008-12-18 13:33:52

标签: java gif

所以我的桌面上有这个GIF文件(这是一张52张扑克牌)。我一直在研究一个程序,将它切换成每张卡片的小acm.graphics.GImages。但是,现在,我想将这些GImages或像素数组写入文件,以便以后可以使用它们。我认为它会像写.txt文件一样直截了当,但之后的几次谷歌搜索比以前更加困惑。

那么如何从像素阵列或GImages中制作.gif文件(我已经加载了两者)?

3 个答案:

答案 0 :(得分:7)

沿着这些线的东西应该可以做到(根据需要修改图像类型,尺寸和像素数组):

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

WritableRaster raster = image.getRaster();
for ( i=0; i<width; i++ ) {
    for (  j=0; j<height; j++ ) {
        int[] colorArray = getColorForPixel(pixels[i][j]);
        raster.setPixel(i, j, colorArray);
    }
}

ImageIO.write(image, "gif", new File("CardImage"));

'getColorForPixel'需要返回一个表示该像素颜色的数组。在这种情况下,使用RGB,colorArray将有三个整数[红色] [绿色] [蓝色]。

相关的javadoc:WritableRasterBufferedImageImageIO

答案 1 :(得分:1)

我不得不为大学项目用Java Images创建GIF,我发现了这一点。 我推荐Acme的开源GifEncoder类。很好,易于使用,我还记得它超过2年后。 这是链接: http://www.acme.com/java/software/Acme.JPM.Encoders.GifEncoder.html

这是G-Link: http://www.google.com/search?hl=en&q=acme+java+gif&btnG=Search

答案 2 :(得分:-1)

它并不能直接回答您的问题,但使用ImageMagick会不会更容易?它有Java bindings