码迷,mamicode.com
首页 > 编程语言 > 详细

Java合并png图片

时间:2019-08-08 12:53:15      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:div   array   vax   leo   style   arc   buffere   first   span   


package
org.jimmy.autosearch2019.test; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.util.ArrayList; import javax.imageio.ImageIO; public class TestMergePic2019080801 { private static final String DIR_PATH = "D:/Document/201908/20190808/Pic/Test/"; private static final String PIC_NAME = "test201908081221"; private static final String MERGED_PIC_PATH = DIR_PATH + "testPic2019080801.png"; private static final String SUFFIX = "png"; public static void main(String[] args) { test(); } public static ArrayList<File> getAllFiles(String path,String fileName, String suffix, int size) { ArrayList<File> fileList = new ArrayList<File>(); for(int i = 1; i <= size; i++) { File file = new File(path + fileName + "_" + i + "." + suffix); if(file.exists()) { fileList.add(file); } } return fileList; } public static void mergeImagetogeter(String path, ArrayList<BufferedImage> picList, String suffix) { try { BufferedImage firstImage = picList.get(0); int w1 = firstImage.getWidth(); int h1 = firstImage.getHeight(); int width = w1; int height = h1 * picList.size(); BufferedImage newImage = new BufferedImage(width, height, firstImage.getType()); Graphics g = newImage.getGraphics(); int x = 0; int y = 0; for(int i = 0; i < picList.size(); i++) { BufferedImage currentImage = picList.get(i); y = i * h1; g.drawImage(currentImage, x, y, w1, h1, null); } ImageIO.write(newImage, suffix, new FileOutputStream(path)); g.dispose(); } catch (Exception e) { System.out.println(e.getMessage()); } } public static BufferedImage loadImageLocal(String imgName) { try { return ImageIO.read(new File(imgName)); } catch (Exception e) { System.out.println(e.getMessage()); } return null; } public static void test() { ArrayList<BufferedImage> picList = new ArrayList<BufferedImage>(); ArrayList<File> fileList = getAllFiles(DIR_PATH, PIC_NAME, SUFFIX, 52); for(int i = 0; i < fileList.size(); i++) { BufferedImage currentPic = loadImageLocal(fileList.get(i).getAbsolutePath()); picList.add(currentPic); } mergeImagetogeter(MERGED_PIC_PATH, picList, SUFFIX); //将多张图片合在一起 System.out.println("Successfully!"); } }

合并前:

技术图片

技术图片

 

效果图:

技术图片

 

Java合并png图片

标签:div   array   vax   leo   style   arc   buffere   first   span   

原文地址:https://www.cnblogs.com/JimmySeraph/p/11320446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!