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