본문 바로가기

자바공부

자바 그래픽(2), 명품자바프로그래밍12장

728x90
반응형

* Graphics 클래스의 경로명은 java.awt.Graphics로서 자바의 초기부터 AWT와 함께 제공된 기능이다.

자바에서 그리기를 할 때 사용되는 유일한 객체로서, Graphics 클래스는 AWT나 스윙을 만론하고 모두 그리기에 사용된다.

Graphics 객체는 그리기, 칠하기, 이미지 출력하기, 클리핑 등 GUI프로그래밍에 있어 필요한 모든 필드와 메소드를 제공한다.

 

* Graphics가 제공하는 기능

1)  색상 선택하기

2) 문자열 그리기

3) 도형 그리기

4) 도형 칠하기

5) 이미지 그리기

6) 클리핑

 

* 문자열 그리기를 위한 Graphics 메소드

void drawString(String str, int x, int y)
//str 문자열을 (x, y)영역에 그린다. 현재 Graphics에 설정된 색과 폰트로 문자열을 출력한다.

 

* Color와 Font 클래스는 그리기를 할 때 색과 문자 폰트를 생성하는 데 사용된다. 

모두 java.awt 패키지에 포함된 클래스이다.

 

* Color는 색을 표현하는 클래스이다. 

자바에서 색은 r(Red), g(Green), b(Blue) 성분으로 구성되며 각 성분은 0~255(8비트) 범위의 정수이다.

생성자:

1) Color(int r, int g, int b)

r, g, b 값으로 sRGB 색을 생성한다.

2) Color(int rgb)

rgb는 총 32비트의 정수형 변수이지만 하위 24비트만 유효하다. 

즉, 0x00rrggbb로 표현된다. 

각 바이트가 r,g,b의 색 성분이다.

// Color 클래스를 사용하여 색을 생성하는 예시
Graphics g;
g.setColor(new Color(255, 0, 0);
g.setColor(new Color(0x0000ff00));
g.setColor(Color.YELLOW);

* Font는 문자의 폰트를 표현한다.

생성자:

1) Font(String fontFace, int style, int size)

fontFace는 "고딕체", "Ariel" 등과 같은 폰트 이름이며, style은 Font.BOLD, Font.ITALIC, Font.PLAIN 중 한 값으로 문자의 스타일이고, size는 픽셀 단위의 문자 크기이다.

Font f = new Font("Times New Roman", Front.ITALIC, 30);
// 이탤릭 스타일을 가진 "Times New Roman"체로서 30픽셀 코기의 폰트를 생성

 

* 문자에 적용되는 Font와는 달리 Color는 문자열 그리기, 도형 그리기, 도형 칠하기 등 색이 필요한 모든 곳이 사용된다.

void setColor(Color color)
// 그래픽 컨텍스트의 색을 color로 설정한다. 그리기 시에 이 색이 이용된다.
void setFont(Font font)
// 그래픽 컨텍스트의 폰트를 font로 설정한다. 문자열 출력시 이 폰트가 이용된다.

// Example
Graphics g;
Font f = new Font("Arial", Font.ITALIC, 30);
g.setFont(f);
g.setColor(Color.RED);
g.drawString("How much", 30, 30);

 

반응형