切分和组合图片(二)
4434 点击·0 回帖
![]() | ![]() | |
![]() | 切分和组合图片(二) 组合步骤: 1. 初始化有多少小图片 2. 加载小图片到缓存中 3. 初始化大图片存储器 4. 组合小图片到大图片 5. 生成大图片文件 小图片源: [java] 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 = new File("img" + i + ".jpg"); } //缓存图片文件 BufferedImage[] buffImages = new BufferedImage[chunks]; for (int i = 0; i < chunks; i++) { buffImages = ImageIO.read(imgFiles); } 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")); } 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 = new File("img" + i + ".jpg"); } //缓存图片文件 BufferedImage[] buffImages = new BufferedImage[chunks]; for (int i = 0; i < chunks; i++) { buffImages = ImageIO.read(imgFiles); } 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")); } | |
![]() | ![]() |