用Java编写GIF文件

Zig*_*ggy 1 java gif

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

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

Bre*_*man 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"));
Run Code Online (Sandbox Code Playgroud)

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

相关的javadoc:WritableRaster,BufferedImageImageIO.