Java分割拼接图片

分割图片
Java代码 收藏代码
  1. privatestaticvoidsplitImage()throwsIOException{
  2. StringoriginalImg="C:\\img\\split\\a380_1280x1024.jpg";
  3. //读入大图
  4. Filefile=newFile(originalImg);
  5. FileInputStreamfis=newFileInputStream(file);
  6. BufferedImageimage=ImageIO.read(fis);
  7. //分割成4*4(16)个小图
  8. introws=4;
  9. intcols=4;
  10. intchunks=rows*cols;
  11. //计算每个小图的宽度和高度
  12. intchunkWidth=image.getWidth()/cols;
  13. intchunkHeight=image.getHeight()/rows;
  14. intcount=0;
  15. BufferedImageimgs[]=newBufferedImage[chunks];
  16. for(intx=0;x<rows;x++){
  17. for(inty=0;y<cols;y++){
  18. //设置小图的大小和类型
  19. imgs[count]=newBufferedImage(chunkWidth,chunkHeight,image.getType());
  20. //写入图像内容
  21. Graphics2Dgr=imgs[count++].createGraphics();
  22. gr.drawImage(image,0,0,
  23. chunkWidth,chunkHeight,
  24. chunkWidth*y,chunkHeight*x,
  25. chunkWidth*y+chunkWidth,
  26. chunkHeight*x+chunkHeight,null);
  27. gr.dispose();
  28. }
  29. }
  30. //输出小图
  31. for(inti=0;i<imgs.length;i++){
  32. ImageIO.write(imgs[i],"jpg",newFile("C:\\img\\split\\img"+i+".jpg"));
  33. }
  34. System.out.println("完成分割!");
  35. }

Java分割拼接图片
Java分割拼接图片

拼接图片
Java代码 收藏代码
  1. privatestaticvoidmergeImage()throwsIOException{
  2. introws=2;
  3. intcols=2;
  4. intchunks=rows*cols;
  5. intchunkWidth,chunkHeight;
  6. inttype;
  7. //读入小图
  8. File[]imgFiles=newFile[chunks];
  9. for(inti=0;i<chunks;i++){
  10. imgFiles[i]=newFile("C:\\img\\merge\\img"+i+".jpg");
  11. }
  12. //创建BufferedImage
  13. BufferedImage[]buffImages=newBufferedImage[chunks];
  14. for(inti=0;i<chunks;i++){
  15. buffImages[i]=ImageIO.read(imgFiles[i]);
  16. }
  17. type=buffImages[0].getType();
  18. chunkWidth=buffImages[0].getWidth();
  19. chunkHeight=buffImages[0].getHeight();
  20. //设置拼接后图的大小和类型
  21. BufferedImagefinalImg=newBufferedImage(chunkWidth*cols,chunkHeight*rows,type);
  22. //写入图像内容
  23. intnum=0;
  24. for(inti=0;i<rows;i++){
  25. for(intj=0;j<cols;j++){
  26. finalImg.createGraphics().drawImage(buffImages[num],chunkWidth*j,chunkHeight*i,null);
  27. num++;
  28. }
  29. }
  30. //输出拼接后的图像
  31. ImageIO.write(finalImg,"jpeg",newFile("C:\\img\\merge\\finalImg.jpg"));
  32. System.out.println("完成拼接!");
  33. }

Java分割拼接图片

你可能感兴趣的:(java)