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"));
}
生成的大图片: