java实现合并图片的方法示例

时间:2022-09-12 12:21:16

本文实例讲述了java实现合并图片的方法。分享给大家供大家参考,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.test;
import java.io.File;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
public class ImageCombineTest {
  public static void main(String args[]) {
    try {
      // 读取第一张图片
      File fileOne = new File("/Users/coolcloud/Pictures/Art/lena-2.jpg");
      BufferedImage ImageOne = ImageIO.read(fileOne);
      int width = ImageOne.getWidth();
      // 图片宽度
      int height = ImageOne.getHeight();
      // 图片高度
      // 从图片中读取RGB
      int[] ImageArrayOne = new int[width * height];
      ImageArrayOne = ImageOne.getRGB(0, 0, width, height, ImageArrayOne,
      0, width);
      // 对第二张图片做相同的处理
      File fileTwo = new File("/Users/coolcloud/Pictures/Art/lena-2.jpg");
      BufferedImage ImageTwo = ImageIO.read(fileTwo);
      int[] ImageArrayTwo = new int[width * height];
      ImageArrayTwo = ImageTwo.getRGB(0, 0, width, height, ImageArrayTwo,
      0, width);
      // 生成新图片
      // BufferedImage ImageNew = new BufferedImage(width * 2, height,
      // BufferedImage.TYPE_INT_RGB);
      BufferedImage ImageNew = new BufferedImage(width*2, height*2,
      BufferedImage.TYPE_INT_RGB);
      ImageNew.setRGB(0, 0, width, height, ImageArrayOne, 0, width);
      // 设置左半部分的RGB
      // ImageNew.setRGB(width, 0, width, height, ImageArrayTwo, 0, width);// 设置右半部分的RGB
      // ImageNew.setRGB(0, height, width, ImageOne.getHeight()+ImageTwo.getHeight(), ImageArrayTwo, 0, width);// 设置右半部分的RGB
      ImageNew.setRGB(0, height, width, height, ImageArrayTwo, 0, width);
      // 设置右半部分的RGB
      File outFile = new File("/Users/coolcloud/Pictures/generatepic.jpg");
      ImageIO.write(ImageNew, "png", outFile);
      // 写图片
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}
 

希望本文所述对大家java程序设计有所帮助。