본문 바로가기

IT/java

이미지 합성 및 이미지에 글쓰기

반응형

1. 이미지 읽어오기


import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

BufferedImage tmp = ImageIO.read(new File("imageName.jpg"));


2. 해당이미지의 Graphics 객체 가져오기 ( 빈이미지 생성후 가져오기 )


BufferedImage bg = new BufferedImage(100,100,BufferedImage.TYPE_INT_RGB);
Graphics g  = bg.createGraphics();
//흰색으로 칠함
g.setColor(Color.WHITE);
g.fillRect(0, 0, 100, 100);

3. Graphics 객체로 글쓰기


Font f = new Font("Serif", Font.PLAIN, 12);
//중앙에 쓰기위해 계산하는 부분		
FontRenderContext frc = new FontRenderContext(null,true,true);
Rectangle2D r = f.getStringBounds("타이틀", frc);
g.setColor(Color.BLACK);
g.setFont(f);
//실제 글씨 쓰는곳
g.drawString("타이틀", (this.width/2)-(int)((r.getWidth())/2), 20);

4. 이미지 내보내기


ImageIO.write(bg, "jpg", new File("result.jpg"));


만들고 있는 프로그램의 부분부분에 서 발췌하다가 수정을 덜한 부분도 있어서, 

눈치껏 수정해서 써야함!( 그냥쓰면 안됨요.. )


애플릿 만들때나 쓰는거라 거의 들어다보지도 않았떤 awt 패키지 쪽이 이미지 다룰때는 아직도 쓴다는 점과,

javax.imageio 를 쓰면 jpg,png 등을 거의 막(?) 쓸수 있다는 사실을 알게됨~! (오?)


MFC 로 만들때는 bmp 파일이 아닌걸 어떻게 하나 하면서, CImage 클래스도 보고,

GDI+ 공부해야하나 고민 했는데, 역시 JAVA 는 편하다.. ( 익숙해서인가.. )

반응형