JAVA :: 그래픽(2)

s_omi·2021년 2월 18일
0

JAVA (자바)

목록 보기
30/62
post-thumbnail

💡 도형 칠하기 : 내부 칠하기

💬 메소드

void fillRect()
void fillArc()

💡 이미지 그리기

JLabel을 이용한 이미지 그리기
Graphics의 drawImage()로 이미지 그리기 ✔

💬 drawImage() 메소드

원본 크기로 그리기

boolean drawImage(Image img, int x, int y, Color bgColor, ImageObserver observer)
boolean drawImage(Image img, int x, int y, ImageObserver observer)
  // img를 그래픽 영역의 (x, y) 위치에 img의 원본 크기로 그린다.

ㆍimg : 이미지 객체
ㆍx, y : 이미지가 그려질 좌표
ㆍbgColor : 이미지 안의 투명한 부분에 칠해지는 색상
ㆍobserver : 완료를 통보받는 객체

크기 조절하여 그리기

boolean drawImage(Image img, int x, int y, int width, int height, Color bgColor, ImageObserver observer)
boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
  // img를 그래픽 영역의 (x, y) 위치에 width x height 크기로 조절하여 그린다.

ㆍwidth : 폭으로서 픽셀 단위ㆍheight : 높이로서 픽셀 단위

이미지 로딩 : Image 객체 생성

👉 예시
ImageIcon icon = new ImageIcon("images/image0.jpg"); // 파일로부터 이미지 로딩
Image img = icon.getImage(); // 이미지 정보 추출
int width = img.getWidth(this); // 이미지의 폭. this는 ImageObserver로서, null도 가능
int height = img.getHeight(this); // 이미지의 높이

💡 변화하는 모양 그리기

💬 repaint() : 자바 플랫폼에게 컴포넌트의 페인팅을 실행할 것을 간접적으로 지시하는 메소드

개발자는 프로그램에서 컴포넌트의 색, 모양 등을 변경한 후 repaint()를 호출하여, 자바 플랫폼이 컴포넌트의 paintComponent()를 호출하도록 해야 한다.

component.repaint(); // repaint() 메소드 호출
component.getParent().repaint(); // 컴포넌트의 위치나 모양을 변경하기 위해 이전 위치나 모양의 잔상을 지움  
profile
공부한 거 올려요 :)

0개의 댓글