업무중 만들었던 Java로 두 이미지를 합하는 소스입니다.
1번 이미지
2번 이미지
결과 이미지
사실 뭐 그냥 별거 아니긴 합니다만 혹시라도 찾으시는 분이 있을지 몰라 올려봅니다.
이거 해보니 Java Image Processing 에 급 관심이 생겼습니다.
아래는 소스입니다.
1번 이미지
2번 이미지
결과 이미지
사실 뭐 그냥 별거 아니긴 합니다만 혹시라도 찾으시는 분이 있을지 몰라 올려봅니다.
이거 해보니 Java Image Processing 에 급 관심이 생겼습니다.
아래는 소스입니다.
01.
import
java.awt.Color;
02.
import
java.awt.Graphics2D;
03.
import
java.awt.image.BufferedImage;
04.
import
java.io.File;
05.
import
java.io.IOException;
06.
07.
import
javax.imageio.ImageIO;
08.
09.
public
class
TestImageMerge {
10.
public
static
void
main(String[] args) {
11.
try
{
12.
BufferedImage image1 = ImageIO.read(
new
File(
"c:\\image1.gif"
));
13.
BufferedImage image2 = ImageIO.read(
new
File(
"c:\\image2.gif"
));
14.
15.
int
width = Math.max(image1.getWidth(), image2.getWidth());
16.
int
height = image1.getHeight() + image2.getHeight();
17.
18.
BufferedImage mergedImage =
new
BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
19.
Graphics2D graphics = (Graphics2D) mergedImage.getGraphics();
20.
21.
graphics.setBackground(Color.WHITE);
22.
graphics.drawImage(image1,
0
,
0
,
null
);
23.
graphics.drawImage(image2,
0
, image1.getHeight(),
null
);
24.
25.
ImageIO.write(mergedImage,
"gif"
,
new
File(
"c:\\mergedImage.gif"
));
26.
// ImageIO.write(mergedImage, "jpg", new File("c:\\mergedImage.jpg"));
27.
// ImageIO.write(mergedImage, "png", new File("c:\\mergedImage.png"));
28.
}
catch
(IOException ioe) {
29.
ioe.printStackTrace();
30.
}
31.
32.
System.out.println(
"이미지 합성이 완료되었습니다... 에헤라 디야~~"
);
33.
}
34.
}
ImageIO 클래스는 이미지 파일 읽기, 쓰기 시에 이미지 타입별로 변경할 부분이 거의 없어서 매우 편리하네요.
많이 사용하는 bmp, gif, jpg, png 포맷은 다 지원하는 것으로 보입니다.