本文实例讲述了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程序设计有所帮助。