/**
* 图片合成
*/
public static void main(String[] args) throws Exception {
InputStream is1 = new FileInputStream("C:\\Users\\Administrator\\Desktop\\2.png");
InputStream is2 = new FileInputStream("C:\\Users\\Administrator\\Desktop\\1.png");
BufferedImage readImg1 = ImageIO.read(is1);
BufferedImage readImg2 = ImageIO.read(is2);
BufferedImage mergeImg = mergeImg(readImg1, readImg2);
writeImageLocal("C:\\Users\\Administrator\\Desktop\\3.png", mergeImg);
}
/**
* 生成新图片到本地
*/
public static void writeImageLocal(String newImage, BufferedImage img) {
if (newImage != null && img != null) {
try {
File outputfile = new File(newImage);
ImageIO.write(img, "jpg", outputfile);
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
/**
* 合成图片操作
*/
private static BufferedImage mergeImg(BufferedImage img1, BufferedImage img2) {
int w1 = img1.getWidth();
int h1 = img1.getHeight();
int w2 = img2.getWidth()/10;
int h2 = img2.getHeight()/10;
Graphics2D graphics2D = null;
// 生成新图片
BufferedImage destImage = null;
destImage = new BufferedImage(w1, h1, BufferedImage.TYPE_INT_RGB);
graphics2D = destImage.createGraphics();
//插入的位置坐标需要手动尝试
graphics2D.drawImage(img1, 0, 0, w1, h1, null);
graphics2D.drawImage(img2, 190, 0, w2, h2, null);
graphics2D.dispose();
return destImage;
}