Graphics (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

## java.awt
클래스 Graphics

    java.lang.Object
      java.awt.Graphics

직계의 기존의 서브 클래스:
  DebugGraphics , Graphics2D

    public abstract class Graphics

extends Object

`Graphics` 클래스는, 모든 그래픽 문맥의 추상 base class입니다. 그래픽 문맥에 의해 어플리케이션은, 각종 디바이스에 의해 실현되는 컴퍼넌트상이나 오프 스크린 이미지상에 draw 할 수 있습니다.

`Graphics` 객체는, Java 가 지원하는 기본적인 draw 조작에 필요한 상태 정보를 캡슐화합니다. 이 상태 정보에는, 다음의 프로퍼티이 있습니다.

- 렌더링 대상의 `Component` 객체
- 렌더링을 위한 변환의 기점과 클리핑 좌표
- 현재의 클립
- 현재의 색
- 현재의 폰트
- 현재의 논리 픽셀 조작 기능 (XOR 또는 Paint)
- 현재의 XOR 변경색 (`setXORMode(java.awt.Color)` 참조)

좌표축은 무한하게 가늘고, 출력 디바이스의 픽셀간에 존재합니다. 도형의 윤곽을 그리는 조작은, 픽셀 사이즈의 펜을 픽셀간의 무한하게 가는 윤곽선에 따라 움직여 가는 것에 의해 동작합니다. 펜은, 윤곽선의 엥커 포인트에 매달려, 한편 우측에 위치하고 있습니다. 도형의 내부를 묻는 조작은, 무한하게 가는 윤곽선의 내부를 묻는 것으로 동작합니다. 수평의 문자를 draw 하는 조작은, baseline 좌표보다 위에 문자 Glyph의 아센다 부분을 모두 draw 합니다.

그래픽스 펜은 그 궤도의 윤곽선에 매달려, 한편 우측에 위치하고 있습니다. 이것은, 다음 일을 나타냅니다.

- 지정된 구형을 커버하는 도형을 그리는 경우, 그 도형으로 오른쪽과 최하부의 옆에 픽셀을 이제(벌써) 일렬 여분으로 표시하도록(듯이) 한다. 그 점에서, 같은 구형의 내부를 묻는 것과는 다르다
- 텍스트 라인의 baseline와 같은 y 좌표에 따라 수평선을 그리는 경우, 문자가 baseline보다 아래에 늘어나는 부분을 제외해, 텍스트보다 완전하게 아래에 선을 그린다

이 `Graphics` 의 메소드의 인수로서 사용되는 모든 좌표치는, 메소드의 호출전에, 이 `Graphics` 객체의 변환 바탕으로 상대적인 것이라고 보여지는

모든 draw 조작은,`Shape` 가 사용자 공간으로 지정해,`Graphics` 객체를 사용해 프로그램이 제어하는 현재의 클립에 둘러싸인 에리어에 있는 픽셀만을 변경합니다. 이 「사용자 클립」은 디바이스 공간에 변환되어 윈도우의 가시 및 디바이스의 크기에 의해 정의되는 「디바이스 클립」이라고 결합됩니다. 사용자 클립과 디바이스 클립의 결합에 의해, 최종적인 클리핑 영역을 결정하는 「복합 클립」을 정의합니다. draw 시스템은, 사용자 클립을 변경해 복합 클립의 결과를 반영할 수 없습니다. 사용자 클립은 `setClip` 또는 `clipRect` 메소드만으로 변경할 수 있습니다. 모든 draw나 기입은, 현재의 색으로, 현재의 페인트 모드와 폰트를 사용해 행해집니다.

도입된 버젼:
  JDK1. 0
관련 항목:
  `Component` , `clipRect(int, int, int, int)` , `setColor(java.awt.Color)` , `setPaintMode()` , `setXORMode(java.awt.Color)` , `setFont(java.awt.Font)`

생성자 의 개요
`protected` | `Graphics ()` 새로운 `Graphics` 객체를 작성합니다.

메소드의 개요
`abstract void` | `clearRect (int x, int y, int width, int height)` 지정된 구형을, 현재의 draw 표면의 백그라운드 칼라로 전부 칠하는 것으로 클리어 합니다.
`abstract void` | `clipRect (int x, int y, int width, int height)` 현재의 클립과 지정된 구형을 교차시킵니다.
`abstract void` | `copyArea (int x, int y, int width, int height, int dx, int dy)` 컴퍼넌트의 영역을,`dx` 와 `dy` 로 지정된 거리로 카피합니다.
`abstract Graphics` | `create ()` 이 `Graphics` 객체의 카피인, 새로운 `Graphics` 객체를 작성합니다.
`Graphics` | `create (int x, int y, int width, int height)` 이 `Graphics` 객체에 근거한 새로운 `Graphics` 객체를, 새로운 변환 및 클립 영역에서 작성합니다.
`abstract void` | `dispose ()` 이 그래픽스 문맥을 파기해, 사용중의 system resource가 있으면 그것을 해제합니다.
`void` | `draw3DRect (int x, int y, int width, int height, boolean raised)` 지정된 구형의 윤곽을 3D 로 강조 표시해 draw 합니다.
`abstract void` | `drawArc (int x, int y, int width, int height, int startAngle, int arcAngle)` 지정된 구형을 커버하는 원호 또는 타원호의 윤곽을 그립니다.
`void` | `drawBytes (byte[] data, int offset, int length, int x, int y)` 이 그래픽스 문맥의 현재의 폰트와 색을 사용해, 지정된 바이트 배열에 의해 지정된 텍스트를 그립니다.
`void` | `drawChars (char[] data, int offset, int length, int x, int y)` 이 그래픽스 문맥의 현재의 폰트와 색을 사용해, 지정된 문자 배열에 의해 지정된 텍스트를 그립니다.
`abstract boolean` | `drawImage (Image img, int x, int y, Color bgcolor, ImageObserver observer)` 지정된 이미지의 현재 이용 가능한 부분만큼을 그립니다.
`abstract boolean` | `drawImage (Image img, int x, int y, ImageObserver observer)` 지정된 이미지의 현재 이용 가능한 부분만큼을 그립니다.
`abstract boolean` | `drawImage (Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)` 지정된 구형의 내부에 들어가도록(듯이) 슬캘링 해, 지정된 이미지의 이용 가능한 부분을 그립니다.
`abstract boolean` | `drawImage (Image img, int x, int y, int width, int height, ImageObserver observer)` 지정된 구형의 내부에 들어가도록(듯이) 슬캘링 해, 지정된 이미지의 이용 가능한 부분을 그립니다.
`abstract boolean` | `drawImage (Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)` 지정된 이미지의 지정된 영역의 이용 가능한 부분을 그립니다.
`abstract boolean` | `drawImage (Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)` 지정된 이미지의 지정된 영역의 이용 가능한 부분을 그립니다.
`abstract void` | `drawLine (int x1, int y1, int x2, int y2)` 이 그래픽스 문맥의 좌표계의 점 `(x1, y1)` 과 점 `(x2, y2)` 과의 사이에 현재의 색을 사용해 선을 그립니다.
`abstract void` | `drawOval (int x, int y, int width, int height)` 타원의 윤곽을 그립니다.
`abstract void` | `drawPolygon (int[] xPoints, int[] yPoints, int nPoints)` x 좌표와 y 좌표의 배열로 정의된 닫은 다각형을 그립니다.
`void` | `drawPolygon (Polygon p)` 지정된 `Polygon` 객체에 의해 정의되는 다각형의 윤곽을 그립니다.
`abstract void` | `drawPolyline (int[] xPoints, int[] yPoints, int nPoints)` x 좌표와 y 좌표의 배열로 정의되고 연속적으로 연결된 직선을 그립니다.
`void` | `drawRect (int x, int y, int width, int height)` 지정된 구형의 윤곽을 그립니다.
`abstract void` | `drawRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight)` 둥근 코너 첨부의 윤곽의 구형을, 이 그래픽스 문맥의 현재의 색을 사용해 그립니다.
`abstract void` | `drawString (AttributedCharacterIterator iterator, int x, int y)` 지정된 반복자에 의해 텍스트를 그려,`TextAttribute` 클래스의 스펙에 근거해 속성을 적용합니다.
`abstract void` | `drawString (String str, int x, int y)` 이 그래픽스 문맥의 현재의 폰트와 색을 사용해, 지정된 캐릭터 라인에 의해 지정된 텍스트를 그립니다.
`void` | `fill3DRect (int x, int y, int width, int height, boolean raised)` 현재의 색으로 전부 칠해지고 있는, 3D 로 강조 표시된 구형을 그립니다.
`abstract void` | `fillArc (int x, int y, int width, int height, int startAngle, int arcAngle)` 지정된 구형을 커버하는 원호 또는 타원호를 전부 칠합니다.
`abstract void` | `fillOval (int x, int y, int width, int height)` 지정된 구형안의 타원형을 현재의 색으로 전부 칠합니다.
`abstract void` | `fillPolygon (int[] xPoints, int[] yPoints, int nPoints)` x 좌표와 y 좌표의 배열로 정의되는 닫은 다각형을 전부 칠합니다.
`void` | `fillPolygon (Polygon p)` 지정된 Polygon 객체로 정의된 다각형을 그래픽스 문맥의 현재의 색으로 전부 칠합니다.
`abstract void` | `fillRect (int x, int y, int width, int height)` 지정된 구형을 전부 칠합니다.
`abstract void` | `fillRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight)` 지정된 둥근 코너 첨부의 구형을 현재의 색으로 전부 칠합니다.
`void` | `finalize ()` 참조되지 않게 된, 이 그래픽스 문맥을 파기합니다.
`abstract Shape` | `getClip ()` 현재의 클리핑 영역을 돌려줍니다.
`abstract Rectangle` | `getClipBounds ()` 현재의 클리핑 영역의 경계의 구형을 돌려줍니다.
`Rectangle` | `getClipBounds (Rectangle r)` 현재의 클리핑 영역의 경계의 구형을 돌려줍니다.
`Rectangle` | `getClipRect ()` 추천 되고 있지 않습니다. JDK version 1.1 이후는, `getClipBounds()` 로 옮겨졌습니다.
`abstract Color` | `getColor ()` 이 그래픽스 문맥의 현재의 색을 돌려줍니다.
`abstract Font` | `getFont ()` 현재의 폰트를 돌려줍니다.
`FontMetrics` | `getFontMetrics ()` 현재의 폰트의 폰트 시학을 돌려줍니다.
`abstract FontMetrics` | `getFontMetrics (Font f)` 지정된 폰트의 폰트 시학을 돌려줍니다.
`boolean` | `hitClip (int x, int y, int width, int height)` 지정된 구형 영역이 현재의 클리핑 영역과 교차하는 경우는 true 를 돌려줍니다.
`abstract void` | `setClip (int x, int y, int width, int height)` 지정한 좌표가 지정한 구형에 현재의 클립을 설정합니다.
`abstract void` | `setClip (Shape clip)` 현재의 클리핑 영역을 임의의 클립 형상으로 설정합니다.
`abstract void` | `setColor (Color c)` 이 그래픽스 문맥의 현재의 색을, 지정된 색으로 설정합니다.
`abstract void` | `setFont (Font font)` 이 그래픽스 문맥의 폰트를, 지정된 폰트로 설정합니다.
`abstract void` | `setPaintMode ()` 이 그래픽스 문맥의 현재의 색으로 목적지를 덧쓰기하도록(듯이), 페인트 모드를 설정합니다.
`abstract void` | `setXORMode (Color c1)` 이 그래픽스 문맥의 현재의 색과 새롭게 지정된 색을 바꾸도록(듯이), 그래픽스 문맥의 페인트 모드를 설정합니다.
`String` | `toString ()` 이 `Graphics` 객체의 값을 표현하고 있는,`String` 객체를 돌려줍니다.
`abstract void` | `translate (int x, int y)` 그래픽스 문맥의 원점을 현재의 좌표계의 점 (x, y)으로 변환합니다.

클래스 java.lang. Object 로부터 상속된 메소드
`clone , equals , getClass , hashCode , notify , notifyAll , wait , wait , wait`

생성자 의 상세

### Graphics

    protected Graphics()

  새로운 `Graphics` 객체를 작성합니다. 이 생성자 은, 그래픽스 문맥의 디폴트 생성자 입니다.

  `Graphics` 는 abstract 클래스이므로, 어플리케이션은 이 생성자 을 직접 호출할 수 없습니다. 그래픽스 문맥은, 다른 그래픽스 문맥으로부터 취득되는지, 컴퍼넌트로 `getGraphics` 를 호출하는 것에 의해 작성됩니다.

  관련 항목:
    `create()` , `Component.getGraphics()`

메소드의 상세

### create

    public abstract Graphics  create()

  이 `Graphics` 객체의 카피인, 새로운 `Graphics` 객체를 작성합니다.

  반환값:
    이 그래픽스 문맥의 카피인, 새로운 그래픽스 문맥

### create

    public Graphics  create(int x,
                           int y,
                           int width,
                           int height)

  이 `Graphics` 객체에 근거한 새로운 `Graphics` 객체를, 새로운 변환 및 클립 영역에서 작성합니다. 새로운 `Graphics` 객체는 그 원점을, 지정된 점 (x, y)에 변환시킵니다. 그 클립 영역은, 원의 클립 영역과 지정된 구형과의 공통 부분에서 지정됩니다. 인수는 모두, 원의 `Graphics` 객체의 좌표계에 변환됩니다. 새로운 그래픽스 문맥은, 다음의 2 점 이외에 붙어 원의 그래픽스 문맥과 같습니다.

  - 새로운 그래픽스 문맥은 (x, y)에 의해 변환된다. 즉, 새로운 그래픽스 문맥의 점 (`0`, `0`)은 원의 그래픽스 문맥의 점 (x, y)과 같게된다
  - 새로운 그래픽스 문맥은, 원의 그래픽스 문맥으로부터 상속된 변환 후의 클리핑 구형이 무엇으로 있을것이다와 추가의 클리핑 구형을 가진다. 새로운 클리핑 구형의 원점은 (`0`, `0`)에 있어, 그 사이즈는 `width` 인수와 `height` 인수로 지정된다

  파라미터:
    `x` - x 좌표
    `y` - y 좌표
    `width` - 클리핑 구형의 폭
    `height` - 클리핑 구형의 높이
  반환값:
    새로운 그래픽스 문맥
  관련 항목:
    `translate(int, int)` , `clipRect(int, int, int, int)`

### translate

    public abstract void translate(int x,
                                   int y)

  그래픽스 문맥의 원점을 현재의 좌표계의 점 (x, y)으로 변환합니다. 이 그래픽스 문맥을, 새로운 원점이 이 그래픽스 문맥의 원의 좌표계의 점 (x, y)에 일치하도록(듯이) 변경합니다. 이 그래픽스 문맥에 행해진, 이 이후의 draw 조작에 사용되는 좌표는 모두 이 원점에 상대적인 값이 됩니다.

  파라미터:
    `x` - x 좌표
    `y` - y 좌표

### getColor

    public abstract Color  getColor()

  이 그래픽스 문맥의 현재의 색을 돌려줍니다.

  반환값:
    이 그래픽스 문맥의 현재의 색
  관련 항목:
    `Color` , `setColor(Color)`

### setColor

    public abstract void setColor(Color  c)

  이 그래픽스 문맥의 현재의 색을, 지정된 색으로 설정합니다. 이 그래픽스 문맥을 사용하는 이 이후의 그래픽 관련 조작은, 여기서 지정된 색을 사용합니다.

  파라미터:
    `c` - 새로운 draw색
  관련 항목:
    `Color` , `getColor()`

### setPaintMode

    public abstract void setPaintMode()

  이 그래픽스 문맥의 현재의 색으로 목적지를 덧쓰기하도록(듯이), 페인트 모드를 설정합니다. 이것은, 논리 픽셀 조작 기능을 페인트 모드, 즉 덧쓰기 모드(replace mode)로 설정합니다. 이 이후의 draw 조작은, 목적지를 현재의 색으로 덧쓰기합니다.

### setXORMode

    public abstract void setXORMode(Color  c1)

  이 그래픽스 문맥의 현재의 색과 새롭게 지정된 색을 바꾸도록(듯이), 그래픽스 문맥의 페인트 모드를 설정합니다. 이것은, 논리 픽셀 조작을 XOR 모드로 실행하도록(듯이) 지정합니다. XOR 모드에서는, 픽셀은 현재의 색과 지정된 XOR 교대색의 사이를 교대로 바뀝니다.

  draw 조작을 실행하면(자), 현재의 색의 픽셀이 지정된 색에 바뀌어, 그 역도 들어맞읍니다.

  여기서 다루어진 2 색 이외의 색을 가지는 픽셀은 예상할 수 없는 색에 변화합니다만, 그것들은 바탕으로 되돌릴 수 있게 되어 있습니다. 같은 그림을 2 회 draw 하면, 모든 픽셀은 초기의 설정색에 돌아옵니다.

  파라미터:
    `c1` - XOR 의 교대색

### getFont

    public abstract Font  getFont()

  현재의 폰트를 돌려줍니다.

  반환값:
    이 그래픽스 문맥의 현재의 폰트
  관련 항목:
    `Font` , `setFont(Font)`

### setFont

    public abstract void setFont(Font  font)

  이 그래픽스 문맥의 폰트를, 지정된 폰트로 설정합니다. 이 그래픽스 문맥을 사용하는, 이 이후의 텍스트 draw 조작은, 이 폰트를 사용합니다. null 인수는 통지 없게 무시됩니다.

  파라미터:
    `font` - 폰트
  관련 항목:
    `getFont()` , `drawString(java.lang.String, int, int)` , `drawBytes(byte[], int, int, int, int)` , `drawChars(char[], int, int, int, int)`

### getFontMetrics

    public FontMetrics  getFontMetrics()

  현재의 폰트의 폰트 시학을 돌려줍니다.

  반환값:
    이 그래픽스 문맥의 현재의 폰트의 폰트메트릭스
  관련 항목:
    `getFont()` , `FontMetrics` , `getFontMetrics(Font)`

### getFontMetrics

    public abstract FontMetrics  getFontMetrics(Font  f)

  지정된 폰트의 폰트 시학을 돌려줍니다.

  파라미터:
    `f` - 지정된 폰트
  반환값:
    지정된 폰트의 폰트메트릭스
  관련 항목:
    `getFont()` , `FontMetrics` , `getFontMetrics()`

### getClipBounds

    public abstract Rectangle  getClipBounds()

  현재의 클리핑 영역의 경계의 구형을 돌려줍니다. 이 메소드는, 디바이스 경계나 윈도우 가시에 관련한 클리핑에는 의존하지 않는 사용자 클립을 참조합니다. 클립이 설정되어 있지 않은 경우, 또는 클립이 `setClip(null)` 를 사용해 클리어 되고 있는 경우는, 이 메소드는 `null` 를 돌려줍니다. 구형내의 좌표는 이 그래픽스 문맥의 좌표계의 원점을 기준으로 하고 있습니다.

  반환값:
    현재의 클리핑 영역의 경계의 구형, 클립이 설정되어 있지 않은 경우는 `null`
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `getClip()` , `clipRect(int, int, int, int)` , `setClip(int, int, int, int)` , `setClip(Shape)`

### clipRect

    public abstract void clipRect(int x,
                                  int y,
                                  int width,
                                  int height)

  현재의 클립과 지정된 구형을 교차시킵니다. 결과가 클립 되는 영역은 현재의 클리핑 영역과 지정한 구형의 교차 부분입니다. 클립이 설정되었던 적이 없는가, 또는 클립이 `setClip(null)` 를 사용해 클리어 되었기 때문에 현재의 클리핑 영역이 없는 경우는, 지정한 구형이 새로운 클립이 됩니다. 이 메소드는, 디바이스 경계나 윈도우 가시에 관련한 크리크핑에 의존하지 않는 사용자 클립을 설정합니다. 이 메소드는 현재의 클립을 작게 하는 경우에 한정해 사용할 수 있습니다. 현재의 클립을 크게 하려면 , 임의의 setClip 메소드를 사용합니다. 클리핑 영역외에서 draw 조작을 행해도 효과는 없습니다.

  파라미터:
    `x` - 교차해 클립 하는 구형의 x 좌표
    `y` - 교차해 클립 하는 구형의 y 좌표
    `width` - 교차해 클립 하는 구형의 폭
    `height` - 교차해 클립 하는 구형의 높이
  관련 항목:
    `setClip(int, int, int, int)` , `setClip(Shape)`

### setClip

    public abstract void setClip(int x,
                                 int y,
                                 int width,
                                 int height)

  지정한 좌표가 지정한 구형에 현재의 클립을 설정합니다. 이 메소드는, 디바이스 경계나 윈도우 가시에 관련한 크리크핑에 의존하지 않는 사용자 클립을 설정합니다. 클리핑 영역외에서 draw 조작을 행해도 효과는 없습니다.

  파라미터:
    `x` - 새로운 클립 구형의 x 좌표
    `y` - 새로운 클립 구형의 y 좌표
    `width` - 새로운 클립 구형의 폭
    `height` - 새로운 클립 구형의 높이
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `clipRect(int, int, int, int)` , `setClip(Shape)` , `getClip()`

### getClip

    public abstract Shape  getClip()

  현재의 클리핑 영역을 돌려줍니다. 이 메소드는, 디바이스 경계나 윈도우 가시에 관련한 클리핑에는 의존하지 않는 사용자 클립을 돌려줍니다. 클립이 설정되어 있지 않은 경우, 또는 클립이 `setClip(null)` 를 사용해 클리어 되고 있는 경우는, 이 메소드는 `null` 를 돌려줍니다.

  반환값:
    현재의 클리핑 영역을 나타내는 `Shape` 객체. 클립이 설정되어 있지 않은 경우는 `null`
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `getClipBounds()` , `clipRect(int, int, int, int)` , `setClip(int, int, int, int)` , `setClip(Shape)`

### setClip

    public abstract void setClip(Shape  clip)

  현재의 클리핑 영역을 임의의 클립 형상으로 설정합니다. 클립을 설정하기 위해서,`Shape` 인터페이스를 구현하는 모든 객체를 사용할 수 있는 것은 아닙니다. 지원가 보증되고 있는 유일한 `Shape` 객체는,`getClip` 메소드를 사용할까 `Rectangle` 객체를 사용해 취득되는 `Shape` 객체 뿐입니다. 이 메소드는, 디바이스 경계나 윈도우 가시에 관련한 크리크핑에 의존하지 않는 사용자 클립을 설정합니다.

  파라미터:
    `clip` - 클립 설정에 사용하는 `Shape`
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `getClip()` , `clipRect(int, int, int, int)` , `setClip(int, int, int, int)`

### copyArea

    public abstract void copyArea(int x,
                                  int y,
                                  int width,
                                  int height,
                                  int dx,
                                  int dy)

  컴퍼넌트의 영역을,`dx` 와 `dy` 로 지정된 거리로 카피합니다. 이 메소드는 `x` 와 `y` 로 지정된 점으로부터, 컴퍼넌트의 아래방향 및 우측향의 영역을 카피합니다. 컴퍼넌트의 좌방향 및 윗방향의 영역을 카피하려면 ,`dx` 와 `dy` 에 0 보다 작은 값을 지정합니다. 소스의 구형이 있는 부분이 컴퍼넌트의 경계외에 있는 경우나 다른 컴퍼넌트나 윈도우로 숨겨지고 있는 경우는,`copyArea` 는 대응하고 있는 픽셀을 카피할 수 없습니다. 숨겨진 영역은, 그 컴퍼넌트의 `paint` 메소드를 호출하는 것으로 재draw 됩니다.

  파라미터:
    `x` - 소스 구형의 x 좌표
    `y` - 소스 구형의 y 좌표
    `width` - 소스 구형의 폭
    `height` - 소스 구형의 높이
    `dx` - 픽셀을 카피하는 수평거리
    `dy` - 픽셀을 카피하는 수직 거리

### drawLine

    public abstract void drawLine(int x1,
                                  int y1,
                                  int x2,
                                  int y2)

  이 그래픽스 문맥의 좌표계의 점 `(x1, y1)` 과 점 `(x2, y2)` 과의 사이에 현재의 색을 사용해 선을 그립니다.

  파라미터:
    `x1` - 최초의 점의 x 좌표
    `y1` - 최초의 점의 y 좌표
    `x2` - 2 번째의 점의 x 좌표
    `y2` - 2 번째의 점의 y 좌표

### fillRect

    public abstract void fillRect(int x,
                                  int y,
                                  int width,
                                  int height)

  지정된 구형을 전부 칠합니다. 구형의 좌단과 우단은 각각 `x` 와 `x + width - 1` 로, 상단과 하단은 각각 `y` 와 `y + height - 1` 입니다. 이것으로 지정되는 구형은, 폭 `width` 픽셀, 높이 `height` 픽셀의 영역입니다. 구형은, 그래픽스 문맥의 현재의 색을 사용해 전부 칠해집니다.

  파라미터:
    `x` - 전부 칠해진다 구형의 x 좌표
    `y` - 전부 칠해진다 구형의 y 좌표
    `width` - 전부 칠해지는 구형의 폭
    `height` - 전부 칠해지는 구형의 높이
  관련 항목:
    `clearRect(int, int, int, int)` , `drawRect(int, int, int, int)`

### drawRect

    public void drawRect(int x,
                         int y,
                         int width,
                         int height)

  지정된 구형의 윤곽을 그립니다. 구형은, 좌단과 우단이 각각 `x` 와 `x + width`, 상단과 하단이 각각 `y` 와 `y + height` 로 지정됩니다. 구형은, 그래픽스 문맥의 현재의 색을 사용해 draw 됩니다.

  파라미터:
    `x` - draw 된다 구형의 x 좌표
    `y` - draw 된다 구형의 y 좌표
    `width` - draw 되는 구형의 폭
    `height` - draw 되는 구형의 높이
  관련 항목:
    `fillRect(int, int, int, int)` , `clearRect(int, int, int, int)`

### clearRect

    public abstract void clearRect(int x,
                                   int y,
                                   int width,
                                   int height)

  지정된 구형을, 현재의 draw 표면의 백그라운드 칼라로 전부 칠하는 것으로 클리어 합니다. 이 조작은, 현재의 페인트 모드를 사용하지 않습니다.

  Java 1. 1 이후는, 오프 스크린의 이미지의 백그라운드 칼라는 시스템에 의해 다릅니다. 어플리케이션은 `setColor` 에 이어 `fillRect` 를 사용하는 것에 의해, 오프 스크린 이미지를 클리어 해 특정의 색으로 하는 것을 보증합니다.

  파라미터:
    `x` - 클리어 대상의 구형의 x 좌표
    `y` - 클리어 대상의 구형의 y 좌표
    `width` - 클리어 대상의 구형의 폭
    `height` - 클리어 대상의 구형의 높이
  관련 항목:
    `fillRect(int, int, int, int)` , `drawRect(int, int, int, int)` , `setColor(java.awt.Color)` , `setPaintMode()` , `setXORMode(java.awt.Color)`

### drawRoundRect

    public abstract void drawRoundRect(int x,
                                       int y,
                                       int width,
                                       int height,
                                       int arcWidth,
                                       int arcHeight)

  둥근 코너 첨부의 윤곽의 구형을, 이 그래픽스 문맥의 현재의 색을 사용해 그립니다. 그려지는 구형은, 좌단과 우단이 각각 `x` 와 `x + width`, 상단과 하단이 각각 `y` 와 `y + height` 로 지정됩니다.

  파라미터:
    `x` - draw 되는 구형의 x 좌표
    `y` - draw 되는 구형의 y 좌표
    `width` - draw 되는 구형의 폭
    `height` - draw 되는 구형의 높이
    `arcWidth` - 4 구석의 호의 수평 방향의 직경
    `arcHeight` - 4 구석의 호의 수직 방향의 직경
  관련 항목:
    `fillRoundRect(int, int, int, int, int, int)`

### fillRoundRect

    public abstract void fillRoundRect(int x,
                                       int y,
                                       int width,
                                       int height,
                                       int arcWidth,
                                       int arcHeight)

  지정된 둥근 코너 첨부의 구형을 현재의 색으로 전부 칠합니다. 구형은, 좌단과 우단이 각각 `x` 와 `x + width - 1`, 상단과 하단이 각각 `y` 와 `y + height - 1` 로 지정됩니다.

  파라미터:
    `x` - 전부 칠해지는 구형의 x 좌표
    `y` - 전부 칠해지는 구형의 y 좌표
    `width` - 전부 칠해지는 구형의 폭
    `height` - 전부 칠해지는 구형의 높이
    `arcWidth` - 4 구석의 호의 수평 방향의 직경
    `arcHeight` - 4 구석의 호의 수직 방향의 직경
  관련 항목:
    `drawRoundRect(int, int, int, int, int, int)`

### draw3DRect

    public void draw3DRect(int x,
                           int y,
                           int width,
                           int height,
                           boolean raised)

  지정된 구형의 윤곽을 3D 로 강조 표시해 draw 합니다. 구형의 구석은, 경사해, 좌상구석으로부터 빛을 쬔 것처럼 강조 표시됩니다.

  강조 표시 효과에 사용되는 색은, 현재의 색에 근거해 지정됩니다. draw 된 구형은, 폭 `width + 1` 픽셀, 높이 `height + 1` 픽셀의 영역을 커버합니다.

  파라미터:
    `x` - draw 되는 구형의 x 좌표
    `y` - draw 되는 구형의 y 좌표
    `width` - draw 되는 구형의 폭
    `height` - draw 되는 구형의 높이
    `raised` - 구형이 표면으로부터 떠오른 것처럼 보이는지, 표면에 조각해 붐비어진 것처럼 보이는지를 지정한다 boolean 치
  관련 항목:
    `fill3DRect(int, int, int, int, boolean)`

### fill3DRect

    public void fill3DRect(int x,
                           int y,
                           int width,
                           int height,
                           boolean raised)

  현재의 색으로 전부 칠해지고 있는, 3D 로 강조 표시된 구형을 그립니다. 구형의 구석은 경사를 붙일 수 있는 좌상구석으로부터 빛을 쬘 수 있던 것처럼 강조 표시됩니다. 강조 표시 효과에 사용되는 색은 현재의 색으로부터 결정됩니다.

  파라미터:
    `x` - 전부 칠해지는 구형의 x 좌표
    `y` - 전부 칠해지는 구형의 y 좌표
    `width` - 전부 칠해지는 구형의 폭
    `height` - 전부 칠해지는 구형의 높이
    `raised` - 구형이 표면으로부터 떠오른 것처럼 보이는지, 표면에 조각해 붐비어진 것처럼 보이는지를 지정한다 boolean 치
  관련 항목:
    `draw3DRect(int, int, int, int, boolean)`

### drawOval

    public abstract void drawOval(int x,
                                  int y,
                                  int width,
                                  int height)

  타원의 윤곽을 그립니다. 인수의 `x`,`y`,`width`,`height` 로 지정되는 구형내에 들어가는 엔 또는 타원이 그려집니다.

  타원은, 폭 `width + 1` 픽셀, 높이 `height + 1` 픽셀의 영역을 커버합니다.

  파라미터:
    `x` - draw 되는 타원의 좌상구석의 x 좌표
    `y` - draw 되는 타원의 좌상구석의 y 좌표
    `width` - draw 되는 타원의 폭
    `height` - draw 되는 타원의 높이
  관련 항목:
    `fillOval(int, int, int, int)`

### fillOval

    public abstract void fillOval(int x,
                                  int y,
                                  int width,
                                  int height)

  지정된 구형안의 타원형을 현재의 색으로 전부 칠합니다.

  파라미터:
    `x` - 전부 칠해지는 타원의 좌상구석의 x 좌표
    `y` - 전부 칠해지는 타원의 좌상구석의 y 좌표
    `width` - 전부 칠해지는 타원의 폭
    `height` - 전부 칠해지는 타원의 높이
  관련 항목:
    `drawOval(int, int, int, int)`

### drawArc

    public abstract void drawArc(int x,
                                 int y,
                                 int width,
                                 int height,
                                 int startAngle,
                                 int arcAngle)

  지정된 구형을 커버하는 원호 또는 타원호의 윤곽을 그립니다.

  `startAngle` 로부터 시작되어 `arcAngle` 의 각도로 전개된 호가, 현재의 색을 사용해 그려집니다. 각도는 3 시의 위치를 0 번으로서 변환되어 정의 값은 반시계방향, 0 보다 작은 값은 시계 방향의 회전을 나타냅니다.

  호의 중심은, 원점이 (x, y)로, 사이즈가 `width` 인수와 `height` 인수로 지정되는 구형의 중심이 됩니다.

  그려지는 호는, 폭 `width + 1` 픽셀, 높이 `height + 1` 픽셀의 영역을 커버합니다.

  각도의 확대는, 직각이 아닌, 경계의 구형을 기준으로 지정해, 타원의 중심으로부터 경계의 구형의 우상구석까지를 묶는 선이 항상 45 번이 되도록(듯이) 합니다. 경계의 구형의 축의 길이가 꽤 다른 경우에는, 호세그먼트(segment)의 개시 각도와 종료 각도는 경계의 타원에 있어 가장 긴 직경에 따라 한층 더 경사합니다.

  파라미터:
    `x` - draw 되는 호의 좌상구석의 x 좌표
    `y` - draw 되는 호의 좌상구석의 y 좌표
    `width` - draw 되는 고의 폭
    `height` - draw 되는 고의 높이
    `startAngle` - 개시 각도
    `arcAngle` - 개시 각도에 대한 호의 전개 각도의 크기
  관련 항목:
    `fillArc(int, int, int, int, int, int)`

### fillArc

    public abstract void fillArc(int x,
                                 int y,
                                 int width,
                                 int height,
                                 int startAngle,
                                 int arcAngle)

  지정된 구형을 커버하는 원호 또는 타원호를 전부 칠합니다.

  `startAngle` 로부터 시작되어 `arcAngle` 의 각도로 전개된 호가 그려집니다. 각도는 3 시의 위치를 0 번으로서 변환되어 정의 값은 반시계방향, 0 보다 작은 값은 시계 방향의 회전을 나타냅니다.

  호의 중심은, 원점이 (x, y)로, 사이즈가 `width` 인수와 `height` 인수로 지정되는 구형의 중심이 됩니다.

  그려지는 호는, 폭 `width + 1` 픽셀, 높이 `height + 1` 픽셀의 영역을 커버합니다.

  각도의 확대는, 직각이 아닌, 경계의 구형을 기준으로 지정해, 타원의 중심으로부터 경계의 구형의 우상구석까지를 묶는 선이 항상 45 번이 되도록(듯이) 합니다. 경계의 구형의 축의 길이가 꽤 다른 경우에는, 호세그먼트(segment)의 개시 각도와 종료 각도는 경계의 타원에 있어 가장 긴 직경에 따라 한층 더 경사합니다.

  파라미터:
    `x` - 전부 칠해지는 호의 좌상구석의 x 좌표
    `y` - 전부 칠해지는 호의 좌상구석의 y 좌표
    `width` - 전부 칠해지는 고의 폭
    `height` - 전부 칠해지는 고의 높이
    `startAngle` - 개시 각도
    `arcAngle` - 개시 각도에 대한 호의 전개 각도의 크기
  관련 항목:
    `drawArc(int, int, int, int, int, int)`

### drawPolyline

    public abstract void drawPolyline(int[] xPoints,
                                      int[] yPoints,
                                      int nPoints)

  x 좌표와 y 좌표의 배열로 정의되고 연속적으로 연결된 직선을 그립니다. 좌표 (x, y)의 각 페어는 점을 정의합니다. 최초의 좌표와 마지막 좌표가 일치하지 않는 경우, 도형은 닫지 않습니다.

  파라미터:
    `xPoints` - x 점의 배열
    `yPoints` - y 점의 배열
    `nPoints` - 점의 총수
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `drawPolygon(int[], int[], int)`

### drawPolygon

    public abstract void drawPolygon(int[] xPoints,
                                     int[] yPoints,
                                     int nPoints)

  x 좌표와 y 좌표의 배열로 정의된 닫은 다각형을 그립니다. 좌표 (x, y)의 각 페어는 점을 정의합니다.

  이 메소드는,`nPoint` 라인 세그먼트(segment)에 의해 정의되는 다각형을 그립니다. 이 경우, 최초의 `nPoint - 1` 라인 세그먼트(segment)는, 1 ≤ i ≤ `nPoints` 에 대한,`(xPoints[i - 1], yPoints[i - 1])` 로부터 `(xPoints[i], yPoints[i])` 까지의 라인 세그먼트(segment)입니다. 마지막 점과 최초의 점이 일치하지 않는 경우, 그것들을 접속하는 라인을 draw 하면 그림은 자동적으로 덮습니다.

  파라미터:
    `xPoints` - `x` 좌표의 배열
    `yPoints` - `y` 좌표의 배열
    `nPoints` - 점의 총수
  관련 항목:
    `fillPolygon(int[], int[], int)` , `drawPolyline(int[], int[], int)`

### drawPolygon

    public void drawPolygon(Polygon  p)

  지정된 `Polygon` 객체에 의해 정의되는 다각형의 윤곽을 그립니다.

  파라미터:
    `p` - draw 대상의 다각형
  관련 항목:
    `fillPolygon(int[], int[], int)` , `drawPolyline(int[], int[], int)`

### fillPolygon

    public abstract void fillPolygon(int[] xPoints,
                                     int[] yPoints,
                                     int nPoints)

  x 좌표와 y 좌표의 배열로 정의되는 닫은 다각형을 전부 칠합니다.

  이 메소드는,`nPoint` 라인 세그먼트(segment)에 의해 정의되는 다각형을 그립니다. 이 경우, 최초의 `nPoint - 1` 라인 세그먼트(segment)는, 1 ≤ i ≤ `nPoints` 에 대한,`(xPoints[i - 1], yPoints[i - 1])` 로부터 `(xPoints[i], yPoints[i])` 까지의 라인 세그먼트(segment)입니다. 마지막 점과 최초의 점이 일치하지 않는 경우, 그것들을 접속하는 라인을 draw 하면 그림은 자동적으로 덮습니다.

  다각형내의 영역은, 우기 전부 칠해 규칙 (교호 규칙이라고도 한다)을 사용해 정의됩니다.

  파라미터:
    `xPoints` - `x` 좌표의 배열
    `yPoints` - `y` 좌표의 배열
    `nPoints` - 점의 총수
  관련 항목:
    `drawPolygon(int[], int[], int)`

### fillPolygon

    public void fillPolygon(Polygon  p)

  지정된 Polygon 객체로 정의된 다각형을 그래픽스 문맥의 현재의 색으로 전부 칠합니다.

  다각형내의 영역은, 우기 전부 칠해 규칙 (교호 규칙이라고도 한다)을 사용해 정의됩니다.

  파라미터:
    `p` - 전부 칠해 대상의 다각형
  관련 항목:
    `drawPolygon(int[], int[], int)`

### drawString

    public abstract void drawString(String  str,
                                    int x,
                                    int y)

  이 그래픽스 문맥의 현재의 폰트와 색을 사용해, 지정된 캐릭터 라인에 의해 지정된 텍스트를 그립니다. 좌단의 문자의 baseline는, 이 그래픽스 문맥의 좌표계의 위치 (x, y)에 있습니다.

  파라미터:
    `str` - draw 되는 캐릭터 라인
    `x` - x 좌표
    `y` - y 좌표
  예외:
    `NullPointerException` - `str` 가 `null` 의 경우
  관련 항목:
    `drawBytes(byte[], int, int, int, int)` , `drawChars(char[], int, int, int, int)`

### drawString

    public abstract void drawString(AttributedCharacterIterator  iterator,
                                    int x,
                                    int y)

  지정된 반복자에 의해 텍스트를 그려,`TextAttribute` 클래스의 스펙에 근거해 속성을 적용합니다.

  좌단의 문자의 baseline는, 이 그래픽스 문맥의 좌표계의 위치 (x, y)에 있습니다.

  파라미터:
    `iterator` - draw 되는 텍스트를 가지는 반복자
    `x` - x 좌표
    `y` - y 좌표
  예외:
    `NullPointerException` - `iterator` 가 `null` 의 경우
  관련 항목:
    `drawBytes(byte[], int, int, int, int)` , `drawChars(char[], int, int, int, int)`

### drawChars

    public void drawChars(char[] data,
                          int offset,
                          int length,
                          int x,
                          int y)

  이 그래픽스 문맥의 현재의 폰트와 색을 사용해, 지정된 문자 배열에 의해 지정된 텍스트를 그립니다. 최초의 문자의 baseline는, 이 그래픽스 문맥의 좌표계의 위치 (x, y)에 있습니다.

  파라미터:
    `data` - draw 되는 문자의 배열
    `offset` - 데이터의 개시 오프셋(offset)
    `length` - draw 되는 문자수
    `x` - 텍스트의 baseline의 x 좌표
    `y` - 텍스트의 baseline의 y 좌표
  예외:
    `NullPointerException` - `data` 가 `null` 의 경우
    `IndexOutOfBoundsException` - `offset` 또는 `length` 가 제로보다 작은 경우, 혹은 `offset+length` 가 `data` 배열의 길이보다 큰 경우
  관련 항목:
    `drawBytes(byte[], int, int, int, int)` , `drawString(java.lang.String, int, int)`

### drawBytes

    public void drawBytes(byte[] data,
                          int offset,
                          int length,
                          int x,
                          int y)

  이 그래픽스 문맥의 현재의 폰트와 색을 사용해, 지정된 바이트 배열에 의해 지정된 텍스트를 그립니다. 최초의 문자의 baseline는, 이 그래픽스 문맥의 좌표계의 위치 (x, y)에 있습니다.

  각 바이트는 범위 0 ~ 255 의 Unicode 코드 포인트로서 해석되기 (위해)때문에, 이 메소드의 사용은 추천 되지 않습니다. 이 범위에 있는 라틴 문자를 그리는 경우만 사용할 수 있습니다.

  파라미터:
    `data` - draw 되는 데이터
    `offset` - 데이터의 개시 오프셋(offset)
    `length` - draw 되는 바이트수
    `x` - 텍스트의 baseline의 x 좌표
    `y` - 텍스트의 baseline의 y 좌표
  예외:
    `NullPointerException` - `data` 가 `null` 의 경우
    `IndexOutOfBoundsException` - `offset` 또는 `length` 가 제로보다 작은 경우, 혹은 `offset+length` 가 `data` 배열의 길이보다 큰 경우
  관련 항목:
    `drawChars(char[], int, int, int, int)` , `drawString(java.lang.String, int, int)`

### drawImage

    public abstract boolean drawImage(Image  img,
                                      int x,
                                      int y,
                                      ImageObserver  observer)

  지정된 이미지의 현재 이용 가능한 부분만큼을 그립니다. 이미지는, 이 그래픽스 문맥의 좌표 공간의 것 (x, y)에 그 좌상구석을 맞추어 draw 됩니다. 이미지내의 투명 픽셀은, 거기에 벌써 존재하는 어떠한 픽셀에도 영향을 주지 않습니다.

  완전한 이미지가 로드가 끝난 상태가 아니고, 현재의 출력 디바이스에 대해서 디저링이 끝난 상태 및 변환이 끝난 상태가 아니어도, 이 메소드는 모든 경우에 즉시 복귀합니다.

  이미지가 완전하게 로드 되어 픽셀이 변경되지 않게 되었을 경우,`drawImage` 는 `true` 를 돌려줍니다. 이미지가 완전하게 로드되어 있지 않은 경우,`drawImage` 는 `false` 를 돌려주어, 이미지의 한층 더 많은 부분이 이용 가능하게 되는지, 애니메이션의 다른 프레임에 draw 되어 이미지를 로드하는 프로세스에 의해 지정의 이미지 옵저버에 통지됩니다.

  파라미터:
    `img` - draw 되는 지정 이미지`img` 가 null 의 경우에는 아무것도 실시하지 않는
    `x` - x 좌표
    `y` - y 좌표
    `observer` - 이미지가 한층 더 변환되는 것이 통지되는 객체
  반환값:
    이미지 픽셀이 아직 변경중의 경우는 `false`, 그렇지 않은 경우는 `true`
  관련 항목:
    `Image` , `ImageObserver` , `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

### drawImage

    public abstract boolean drawImage(Image  img,
                                      int x,
                                      int y,
                                      int width,
                                      int height,
                                      ImageObserver  observer)

  지정된 구형의 내부에 들어가도록(듯이) 슬캘링 해, 지정된 이미지의 이용 가능한 부분을 그립니다.

  이미지는, 이 그래픽스 문맥의 좌표 공간의 지정된 구형내에 draw 되어 필요에 따라서 슬캘링 됩니다. 투명 픽셀은, 거기에 벌써 존재하는 어떠한 픽셀에도 영향을 주지 않습니다.

  이 메소드는, 이미지 전체가 현재의 출력 디바이스에 대해서 슬캘링 끝나, 디저링 끝나, 변환이 끝난 상태가 아니어도, 모든 경우에 즉시 복귀합니다. 현재의 출력 표현이 아직 완전하지 않은 경우,`drawImage` 는 `false` 를 돌려줍니다. 보다 많은 이미지가 이용 가능하게 되면(자), 이미지를 로드하는 프로세스가, 그 `imageUpdate` 메소드를 호출하는 것에 의해 이미지 옵저버에 통지합니다.

  슬캘링 하고 있지 않는 이미지를 이 출력 디바이스용으로 구축하고 있다고 하는 이유만으로, scaled 이미지를 즉시 사용할 수 있다고는인가 선. 이미지는 사이즈 마다 개별적으로 캐쉬되어 원의 데이터로부터 다른 이미지 작성 순서에 의해 생성되는 일도 있기 때문입니다.

  파라미터:
    `img` - draw 되는 지정 이미지`img` 가 null 의 경우에는 아무것도 실시하지 않는
    `x` - x 좌표
    `y` - y 좌표
    `width` - 구형의 폭
    `height` - 구형의 높이
    `observer` - 이미지가 한층 더 변환되는 것이 통지되는 객체
  반환값:
    이미지 픽셀이 아직 변경중의 경우는 `false`, 그렇지 않은 경우는 `true`
  관련 항목:
    `Image` , `ImageObserver` , `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

### drawImage

    public abstract boolean drawImage(Image  img,
                                      int x,
                                      int y,
                                      Color  bgcolor,
                                      ImageObserver  observer)

  지정된 이미지의 현재 이용 가능한 부분만큼을 그립니다. 이미지는, 이 그래픽스 문맥의 좌표 공간의 것 (x, y)에 그 좌상구석을 맞추어 draw 됩니다. 투명 픽셀은 지정된 백그라운드 칼라로 draw 됩니다.

  이 조작은, 지정된 이미지의 폭과 높이의 구형이 지정된 색으로 전부 칠하고 나서, 그 위에 이미지를 그리는 것에 상당합니다만, 아마 그것보다 효율적입니다.

  완전한 이미지가 로드가 끝난 상태가 아니고, 현재의 출력 디바이스에 대해서 디저링이 끝난 상태 및 변환이 끝난 상태가 아니어도, 이 메소드는 모든 경우에 즉시 복귀합니다.

  이미지가 완전하게 로드 되어 픽셀이 변경되지 않게 되었을 경우,`drawImage` 는 `true` 를 돌려줍니다. 이미지가 완전하게 로드되어 있지 않은 경우,`drawImage` 는 `false` 를 돌려주어, 이미지의 한층 더 많은 부분이 이용 가능하게 되는지, 애니메이션의 다른 프레임에 draw 되어 이미지를 로드하는 프로세스에 의해 지정의 이미지 옵저버에 통지됩니다.

  파라미터:
    `img` - draw 되는 지정 이미지`img` 가 null 의 경우에는 아무것도 실시하지 않는
    `x` - x 좌표
    `y` - y 좌표
    `bgcolor` - 이미지의 불투명하지 않은 부분아래에 칠해지는 백그라운드 칼라
    `observer` - 이미지가 한층 더 변환되는 것이 통지되는 객체
  반환값:
    이미지 픽셀이 아직 변경중의 경우는 `false`, 그렇지 않은 경우는 `true`
  관련 항목:
    `Image` , `ImageObserver` , `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

### drawImage

    public abstract boolean drawImage(Image  img,
                                      int x,
                                      int y,
                                      int width,
                                      int height,
                                      Color  bgcolor,
                                      ImageObserver  observer)

  지정된 구형의 내부에 들어가도록(듯이) 슬캘링 해, 지정된 이미지의 이용 가능한 부분을 그립니다.

  이미지는, 이 그래픽스 문맥의 좌표 공간의 지정된 구형내에 draw 되어 필요에 따라서 슬캘링 됩니다. 투명 픽셀은 지정된 백그라운드 칼라로 draw 됩니다. 이 조작은, 지정된 이미지의 폭과 높이의 구형이 지정된 색으로 전부 칠하고 나서, 그 위에 이미지를 그리는 것에 상당합니다만, 아마 그것보다 효율적입니다.

  이 메소드는, 이미지 전체가 현재의 출력 디바이스에 대해서 슬캘링 끝나, 디저링 끝나, 변환이 끝난 상태가 아니어도, 모든 경우에 즉시 복귀합니다. 현재의 출력 표현이 아직 완전하지 않은 경우,`drawImage` 는 `false` 를 돌려줍니다. 보다 많은 이미지가 이용 가능하게 되면(자), 이미지를 로드하는 프로세스에 의해 지정의 이미지 옵저버에 통지됩니다.

  슬캘링 하고 있지 않는 이미지를 이 출력 디바이스용으로 구축하고 있다고 하는 이유만으로, scaled 이미지를 즉시 사용할 수 있다고는인가 선. 이미지는 사이즈 마다 개별적으로 캐쉬되어 원의 데이터로부터 다른 이미지 작성 순서에 의해 생성되는 일도 있기 때문입니다.

  파라미터:
    `img` - draw 되는 지정 이미지`img` 가 null 의 경우에는 아무것도 실시하지 않는
    `x` - x 좌표
    `y` - y 좌표
    `width` - 구형의 폭
    `height` - 구형의 높이
    `bgcolor` - 이미지의 불투명하지 않은 부분아래에 칠해지는 백그라운드 칼라
    `observer` - 이미지가 한층 더 변환되는 것이 통지되는 객체
  반환값:
    이미지 픽셀이 아직 변경중의 경우는 `false`, 그렇지 않은 경우는 `true`
  관련 항목:
    `Image` , `ImageObserver` , `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

### drawImage

    public abstract boolean drawImage(Image  img,
                                      int dx1,
                                      int dy1,
                                      int dx2,
                                      int dy2,
                                      int sx1,
                                      int sy1,
                                      int sx2,
                                      int sy2,
                                      ImageObserver  observer)

  지정된 이미지의 지정된 영역의 이용 가능한 부분을 그립니다. 지정된 영역의 내부에 들어가도록(듯이) 즉시 슬캘링 해 그립니다. 투명 픽셀은, 거기에 벌써 존재하는 어떠한 픽셀에도 영향을 주지 않습니다.

  이 메소드는, draw 되는 이미지 영역이 현재의 출력 디바이스에 대해서 슬캘링 끝나, 디저링 끝나, 변환이 끝난 상태가 아니어도, 모든 경우에 즉시 복귀합니다. 현재의 출력 표현이 아직 완전하지 않은 경우,`drawImage` 는 `false` 를 돌려줍니다. 보다 많은 이미지가 이용 가능하게 되면(자), 이미지를 로드하는 프로세스에 의해 지정의 이미지 옵저버에 통지됩니다.

  이 메소드는 항상 슬캘링되어 있지 않은 이미지를 사용해, 슬캘링 된 구형을 그려, 필요한 슬캘링을 즉시 실행합니다. 이것은 이 조작에 대해서는, 캐쉬된 슬캘링 끝난 이미지를 사용하지 않습니다. 소스 구형의 최초의 좌표를 목적지 구형의 최초의 좌표에, 소스의 2 번째의 좌표를 목적지의 2 번째의 좌표에라고 하는 대응으로 매핑 해, 소스로부터 목적지에의 이미지의 슬캘링을 실행합니다. 서브 이미지는, 그 할당을 유지하는 필요성에 응해 슬캘링 되고 반전됩니다.

  파라미터:
    `img` - draw 되는 지정 이미지`img` 가 null 의 경우에는 아무것도 실시하지 않는
    `dx1` - 목적지 구형의 최초의 구석의 x 좌표
    `dy1` - 목적지 구형의 최초의 구석의 y 좌표
    `dx2` - 목적지 구형의 2 번째의 구석의 x 좌표
    `dy2` - 목적지 구형의 2 번째의 구석의 y 좌표
    `sx1` - 소스 구형의 최초의 구석의 x 좌표
    `sy1` - 소스 구형의 최초의 구석의 y 좌표
    `sx2` - 소스 구형의 2 번째의 구석의 x 좌표
    `sy2` - 소스 구형의 2 번째의 구석의 y 좌표
    `observer` - 이미지가 한층 더 슬캘링 되어 변환되는 것을 통지하는 객체
  반환값:
    이미지 픽셀이 아직 변경중의 경우는 `false`, 그렇지 않은 경우는 `true`
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `Image` , `ImageObserver` , `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

### drawImage

    public abstract boolean drawImage(Image  img,
                                      int dx1,
                                      int dy1,
                                      int dx2,
                                      int dy2,
                                      int sx1,
                                      int sy1,
                                      int sx2,
                                      int sy2,
                                      Color  bgcolor,
                                      ImageObserver  observer)

  지정된 이미지의 지정된 영역의 이용 가능한 부분을 그립니다. 지정된 영역의 내부에 들어가도록(듯이) 즉시 슬캘링 해 그립니다.

  투명 픽셀은 지정된 백그라운드 칼라로 draw 됩니다. 이 조작은, 지정된 이미지의 폭과 높이의 구형이 지정된 색으로 전부 칠하고 나서, 그 위에 이미지를 그리는 것에 상당합니다만, 아마 그것보다 효율적입니다.

  이 메소드는, draw 되는 이미지 영역이 현재의 출력 디바이스에 대해서 슬캘링 끝나, 디저링 끝나, 변환이 끝난 상태가 아니어도, 모든 경우에 즉시 복귀합니다. 현재의 출력 표현이 아직 완전하지 않은 경우,`drawImage` 는 `false` 를 돌려줍니다. 보다 많은 이미지가 이용 가능하게 되면(자), 이미지를 로드하는 프로세스에 의해 지정의 이미지 옵저버에 통지됩니다.

  이 메소드는 항상 슬캘링되어 있지 않은 이미지를 사용해, 슬캘링 된 구형을 그려, 필요한 슬캘링을 즉시 실행합니다. 이것은 이 조작에 대해서는, 캐쉬된 슬캘링 끝난 이미지를 사용하지 않습니다. 소스 구형의 최초의 좌표를 목적지 구형의 최초의 좌표에, 소스의 2 번째의 좌표를 목적지의 2 번째의 좌표에라고 하는 대응으로 매핑 해, 소스로부터 목적지에의 이미지의 슬캘링을 실행합니다. 서브 이미지는, 그 할당을 유지하는 필요성에 응해 슬캘링 되고 반전됩니다.

  파라미터:
    `img` - draw 되는 지정 이미지`img` 가 null 의 경우에는 아무것도 실시하지 않는
    `dx1` - 목적지 구형의 최초의 구석의 x 좌표
    `dy1` - 목적지 구형의 최초의 구석의 y 좌표
    `dx2` - 목적지 구형의 2 번째의 구석의 x 좌표
    `dy2` - 목적지 구형의 2 번째의 구석의 y 좌표
    `sx1` - 소스 구형의 최초의 구석의 x 좌표
    `sy1` - 소스 구형의 최초의 구석의 y 좌표
    `sx2` - 소스 구형의 2 번째의 구석의 x 좌표
    `sy2` - 소스 구형의 2 번째의 구석의 y 좌표
    `bgcolor` - 이미지의 불투명하지 않은 부분아래에 칠해지는 백그라운드 칼라
    `observer` - 이미지가 한층 더 슬캘링 되어 변환되는 것을 통지하는 객체
  반환값:
    이미지 픽셀이 아직 변경중의 경우는 `false`, 그렇지 않은 경우는 `true`
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `Image` , `ImageObserver` , `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

### dispose

    public abstract void dispose()

  이 그래픽스 문맥을 파기해, 사용중의 system resource가 있으면 그것을 해제합니다. `Graphics` 객체를 `dispose` 의 호출 후에 사용할 수 없습니다.

  Java 프로그램이 실행되고 있으면(자), 단시간 프레임내에서 다수의 `Graphics` 객체를 작성할 수 있습니다. 가비지 컬렉터의 finalize프로세스도 같은 system resource를 파기합니다만, 관련하는 자원을 수동으로 해제하는 것이 추천 됩니다. 즉, 장기간에 걸쳐 완료까지 실행되지 않을 가능성이 있는 finalize프로세스에 의존하는 것보다도, 이 메소드를 호출해 자원을 수동으로 해제해 주세요.

  컴퍼넌트의 `paint` 메소드와 `update` 메소드에 인수로서 제공되는 Graphics 객체는, 이러한 메소드가 복귀했을 때에 시스템에 의해 자동적으로 해제됩니다. 효율성을 확보하려면 ,`Graphics` 객체가 컴퍼넌트 또는 다른 `Graphics` 객체로부터 직접 작성되었을 경우만, 그 객체를 사용해 종료했을 때에 `dispose` 를 호출하도록(듯이) 프로그래밍 하지 않으면 안됩니다.

  관련 항목:
    `finalize()` , `Component.paint(java.awt.Graphics)` , `Component.update(java.awt.Graphics)` , `Component.getGraphics()` , `create()`

### finalize

    public void finalize()

  참조되지 않게 된, 이 그래픽스 문맥을 파기합니다.

  오버라이드(override):
    클래스 `Object` 내의 `finalize`
  관련 항목:
    `dispose()`

### toString

    public String  toString()

  이 `Graphics` 객체의 값을 표현하고 있는,`String` 객체를 돌려줍니다.

  오버라이드(override):
    클래스 `Object` 내의 `toString`
  반환값:
    이 그래픽스 문맥의 캐릭터 라인 표현

### getClipRect

    @Deprecated
    public Rectangle  getClipRect()

  추천 되고 있지 않습니다. JDK version 1.1 이후는, `getClipBounds()` 로 옮겨졌습니다.

  현재의 클리핑 영역의 경계의 구형을 돌려줍니다.

  반환값:
    현재의 클리핑 영역의 경계의 구형, 클립이 설정되어 있지 않은 경우는 `null`

### hitClip

    public boolean hitClip(int x,
                           int y,
                           int width,
                           int height)

  지정된 구형 영역이 현재의 클리핑 영역과 교차하는 경우는 true 를 돌려줍니다. 지정된 구형 영역의 좌표는 사용자 공간 좌표에 있어, 이 그래픽스 문맥의 좌표계의 원점을 기준으로 하고 있습니다. 이 메소드는, 결과를 재빠르게 계산하는 알고리즘을 사용합니다만, 지정된 구형 영역이 클리핑 영역과 교차하지 않는 경우에서도 true 를 돌려주는 경우가 있습니다. 이 때문에, 이용하는 알고리즘에는 정밀도와 속도와의 타협이 필요하게 됩니다. 다만, 지정된 구형 영역이 현재의 클리핑 영역과 교차하지 않는 것이 보증되지 않는 한 false 를 돌려줄 것은 없습니다. 이 메소드로 사용하는 클리핑 영역은, 디바이스 또는 이미지 경계와 윈도우 가시에 관련한 클리핑과 동시에, 이 그래픽스 문맥의 클립 메소드에 의해 지정된 사용자 클립의 교차를 표현할 수가 있습니다.

  파라미터:
    `x` - 현재의 클리핑 영역이라고 비교되는 구형의 x 좌표
    `y` - 현재의 클리핑 영역이라고 비교되는 구형의 y 좌표
    `width` - 현재의 클리핑 영역이라고 비교되는 구형의 폭
    `height` - 현재의 클리핑 영역이라고 비교되는 구형의 높이
  반환값:
    지정된 구형이 현재의 클립의 경계와 교차하는 경우는 `true`, 그렇지 않은 경우는 `false`

### getClipBounds

    public Rectangle  getClipBounds(Rectangle  r)

  현재의 클리핑 영역의 경계의 구형을 돌려줍니다. 구형내의 좌표는 이 그래픽스 문맥의 좌표계의 원점을 기준으로 하고 있습니다. 이 메소드는 `getClipBounds` 과는 달리, 새로운 것을 할당하지 말고 기존의 구형을 사용합니다. 이 메소드는, 디바이스 경계나 윈도우 가시에 관련한 클리핑에는 의존하지 않는 사용자 클립을 참조합니다. 클립이 설정되어 있지 않은 경우, 또는 클립이 `setClip(null)` 를 사용해 클리어 되고 있는 경우는, 이 메소드는 지정한 `Rectangle` 를 돌려줍니다.

  파라미터:
    `r` - 현재의 클리핑 영역의 카피처의 구형. 이 구형에 현재의 값이 있으면 덧쓰기된다
  반환값:
    현재의 클리핑 영역의 경계의 구형

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.