代码改变世界

切分和组合图片(二)

2013-05-10 13:19  java20130722  阅读(158)  评论(0编辑  收藏  举报

切分和组合图片(二)

组合步骤:
1. 初始化有多少小图片
2. 加载小图片到缓存中
3. 初始化大图片存储器
4. 组合小图片到大图片
5. 生成大图片文件

小图片源:


int rows = 4;   //初始化有小图片的数量 
        int cols = 4;  
        int chunks = rows * cols;  
  
        int chunkWidth, chunkHeight;  
        int type;  
        //读取图片文件 
        File[] imgFiles = new File[chunks];  
        for (int i = 0; i < chunks; i++) {  
            imgFiles[i] = new File("img" + i + ".jpg");  
        }  
  
       //缓存图片文件
        BufferedImage[] buffImages = new BufferedImage[chunks];  
        for (int i = 0; i < chunks; i++) {  
            buffImages[i] = ImageIO.read(imgFiles[i]);  
        }  
        type = buffImages[0].getType();  
        chunkWidth = buffImages[0].getWidth();  
        chunkHeight = buffImages[0].getHeight();  
  
        //初始化最终的图片缓存器
        BufferedImage finalImg = new BufferedImage(chunkWidth*cols, chunkHeight*rows, type);  
  
        int num = 0;  
        for (int i = 0; i < rows; i++) {  
            for (int j = 0; j < cols; j++) {  
                finalImg.createGraphics().drawImage(buffImages[num], chunkWidth * j, chunkHeight * i, null);  
                num++;  
            }  
        }  
        System.out.println("图片组合完");  
        ImageIO.write(finalImg, "jpeg", new File("b.jpg"));  
    }

生成的大图片: