#이미지를 그리는 법
원본(src)을 화면(dst)에 범위를 지정하여 출력하는 방법으로, 원본이 있으면 그 원본에서 보여주고 싶은 부분만을 지정할 수 있고, 또한 화면에 출력하는 것도 지정된 범위에 그림이 뜨도록 할 수 있다.
그림 속 빨간 상자와 같이 우선 해당 프로젝트 내에 폴더를 만들어 그곳에 이미지 파일을 저장해주어야 한다.
프로젝트에서 오른쪽 클릭을 하면 뜨는 메뉴에서 new -> folder를 선택하면 해당 폴더를 만들 수 있고, 그곳에 이미지를 복사한다.
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException; //이미지를 불러와 출력하기 위해 import 호출
import javax.imageio.ImageIO;
public class MyWindow1 extends Frame{
private Image img = null;
public MyWindow1(){
try {
img = ImageIO.read(new File("imgs/apple.jpg"));
//이미지가 저장된 위치 및 파일 지정
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //try, catch = 예외처리
}
@Override
public void paint(Graphics g) {
g.drawImage(img, x, y, this); //(x,y)좌표에 전체 이미지 그리기
g.drawImage(img, x, y, 70, 100, this);
//이미지를 (x,y)좌표에서 시작해 넓이:70, 높이:100으로 출력
g.drawImage(img, 0, 0, 1440, 900, this);
g.drawImage(img, 100, 100, 200, 200, 0, 0, 100, 100, this);
}
}
* g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);
//sx1, sy1: 원본 파일의 시작점, sx2, sy2: 원본 파일의 마지막점
//dx1, dy1: 출력화면 시작점, dx2, dy2: 출력화면 마지막점