JavaTM Platform
Standard Ed. 6

java.awt
클래스 Graphics2D

java.lang.Object 
  상위를 확장 java.awt.Graphics 
      상위를 확장 java.awt.Graphics2D


public abstract class Graphics2D
extends Graphics

Graphics2D 클래스는, Graphics 클래스를 확장해, 기하학적 도형, 좌표변화, 칼라 관리, 및 텍스트 배치에 대해 고도의 제어를 실시합니다. 이 클래스는, Java(TM) 플랫폼에서 2D 의 도형, 텍스트, 및 이미지를 draw하기 위한 기본 클래스입니다.  

좌표 공간

Graphics2D 객체에게 건네지는 모든 좌표는, 사용자 공간 (어플리케이션에 의해 사용된다)으로 불리는, 디바이스에 의존하지 않는 좌표계로 지정됩니다. Graphics2D 객체에는, 디바이스 공간에서 사용자 공간의 좌표를 디바이스에 의존하는 좌표로 변환하는 방법을 정의하는 AffineTransform 객체가, draw 상태의 일부로서 포함됩니다.  

디바이스 공간의 좌표는, 일반적으로, 개별의 디바이스 픽셀을 나타내, 이러한 픽셀간에 무한하게 가는 간격에 늘어놓을 수 있고 있습니다. 일부의 Graphics2D 객체에서는, draw 조작을 수중에 넣을 수가 있습니다. 그래픽스 메타파일로서 수중에 넣는 것으로, 후에 물리적인 해상도가 불명한 구상 디바이스를 사용해 재생할 수가 있습니다. draw 조작을 수중에 넣으려면 해상도가 불명해서,Graphics2D Transform 를 설정해 사용자 좌표를 가상 디바이스 공간으로 변환하도록(듯이) 합니다. 타겟 디바이스가 예상되는 해상도가 개산 됩니다만, 그 견적이 올바르지 않은 경우에는, 재생시에 한층 더 변환을 적용할 필요가 있습니다.  

draw 속성 객체에 의해 실행되는 일부의 조작에는 디바이스 공간에서 처리되는 것도 있습니다만,Graphics2D 의 메소드는 모두 사용자 공간 좌표를 취급합니다.  

모든 Graphics2D 객체는, draw가 행해지는 위치를 정의하는 타겟과 관련지을 수 있고 있습니다. GraphicsConfiguration 객체는, 픽셀 형식 및 해상도라고 하는 draw 타겟의 특성을 정의합니다. Graphics2D 객체에서는, 항상 같은 draw 타겟이 사용됩니다.  

Graphics2D 객체가 작성될 때,GraphicsConfiguration 는,Graphics2D (Component 또는 Image )의 타겟으로서디폴트 변환을 지정합니다. 이 디폴트 변환에서는, 사용자 공간 좌표계를 화면과 프린터의 디바이스 좌표에 매핑 해, 원점을 디바이스의 타겟 영역의 좌상구석에, 우측으로 확장하려면 X 좌표를, 하부에 확장하려면 Y 좌표를 늘리는 것 같은 매핑을 실시합니다. 스크린 디바이스등의 72 dpi 에 가까운 디바이스의 경우, 디폴트 변환의 슬캘링은 그러한 디바이스의 식별 정보로 설정됩니다. 프린터등의 고해상도 디바이스의 경우, 디폴트 변환의 슬캘링은, 1 평방 인치 근처 약 72 사용자 공간 좌표로 설정됩니다. 이미지 버퍼에서는, 디폴트의 변환은 Identity 변환입니다.

draw 프로세스

draw 프로세스는,Graphics2D draw 속성에 의해 제어되는 4 개의 단계로 나눌 수가 있습니다. 렌더링에서는 이러한 스텝의 대부분을 최적화할 수 있습니다. 최적화는, 장래의 호출에 대비해 결과를 캐쉬에 포함해 두거나 복수의 가상 스텝을 실질적으로 1 개의 조작에 정리하거나 다양한 속성에 관한 단순한 공통의 문제점을, 조작외의 부분을 변경하는 것으로써 배제하거나 하는 것, 등에 의해 행해집니다.  

draw 프로세스의 순서를 다음에 설명합니다.

  1. draw 하는 대상을 지정한다
  2. draw 조작을 현재의 Clip 에 제한한다. Clip 는 사용자 공간 Shape 에 의해 지정되어GraphicsGraphics2D 의 다양한 클립 조작 메소드를 사용해 프로그램에 의해 제어됩니다. 이 「사용자 클립」은, 현재의 Transform 에 의해 디바이스 공간에 변환되어 윈도우의 가시성 및 디바이스의 크기에 의해 정의되는 「디바이스 클립」이라고 결합됩니다. 사용자 클립과 디바이스 클립의 결합에 의해, 최종적인 클리핑 영역을 결정하는 「복합 클립」을 정의합니다. 렌더링 시스템은, 사용자 클립을 변경해 복합 클립의 결과를 반영할 수 없습니다.
  3. draw 하는 색을 지정한다
  4. Graphics2D 문맥의 현재 Composite 속성을 사용해, 목적지의 draw 표면으로 지정된 색을 바른다

3 종류의 draw 조작에 대해, 각각의 draw 프로세스의 상세를 다음에 나타냅니다.
  1. Shape 의 조작
    1. draw(Shape) 조작의 경우,Graphics2D 문맥의 현재 Stroke 속성으로 createStrokedShape 메소드를 사용해, 지정의 Shape 의 윤곽을 포함하는 새로운 Shape 객체가 구축됩니다.
    2. Shape 는,Graphics2D 문맥의 현재의 Transform 를 사용해 사용자 공간으로부터 디바이스 공간에 변환됩니다.
    3. Shape 의 윤곽은,ShapegetPathIterator 메소드를 사용해 추출됩니다. 이 메소드는,Shape 의 경계를 따라 반복 처리를 실시하는 PathIterator 객체를 돌려줍니다.
    4. PathIterator 객체에 의해 반환되는 곡선 세그먼트(segment)를 Graphics2D 객체를 처리할 수 없는 경우는,Shape 의 평탄화를 실시하는 대체 메소드 getPathIterator 를 호출할 수가 있습니다.
    5. Graphics2D 문맥의 현재 Paint 가, 디바이스 공간에서 draw 하는 색을 지정하는 PaintContext 를 취득하기 위해서 조회됩니다.
  2. 텍스트 조작
    1. 지정된 String 를 draw 하기 위해서 필요한 Glyph세트는, 이하의 순서로 지정됩니다.
      1. 인수가 String 의 경우, 폰트가 구현하는 기본 레이아웃 및 형상 결정 알고리즘에 관계없이 그것들을 이용해 표시하기 위해서,Graphics2D 문맥의 현재의 FontString 의 Unicode 캐릭터 라인을 Glyph세트로 변환하도록(듯이) 요구됩니다.
      2. 인수가 AttributedCharacterIterator 의 경우, 반복자는, 매입 폰트 속성을 사용해, 그 자체를 TextLayout 로 변환하도록(듯이) 요구됩니다. TextLayout 는, 기입 방향이 다른 복수의 폰트를 위해서(때문에) 자동적으로 Unicode 의 쌍방향 레이아웃 조정을 실행하는, 보다 고성능인 Glyph레이아우트아르고리즘을 구현할 수 있습니다.
      3. 인수가 GlyphVector 의 경우,GlyphVector 객체는, 각 Glyph의 위치를 나타내는 명시적인 좌표를 가지는 폰트 독자적인 적절한 Glyph코드를 벌써 포함하고 있습니다.
    2. 현재의 Font 를 조회하면(자), 지정된 Glyph의 아우트라인을 취득할 수 있습니다. 이러한 아우트라인은, 순서 1 으로 지정된 각 Glyph의 위치를 기준으로 한 사용자 공간의 형상으로서 처리됩니다.
    3. 문자의 아우트라인이,Shape 의 조작」으로 설명한 것처럼 전부 칠해집니다.
    4. 현재의 Paint 가, 디바이스 공간에서 draw 하는 색을 지정하는 PaintContext 를 취득하기 위해서 조회됩니다.
  3. Image 의 조작
    1. 대상이 되는 영역은, 소스 Image 의 바운딩 박스로 정의됩니다. 이 바운딩 박스는,Image 객체의 로컬인 좌표계인 이미지 공간에서 지정됩니다.
    2. AffineTransformdrawImage(Image, AffineTransform, ImageObserver) 에게 건네지는 경우는, 이미지 공간으로부터 사용자 공간에 바운딩 박스를 변환하기 위해서, 그 AffineTransform 가 사용됩니다. AffineTransform 가 지정되지 않는 경우, 바운딩 박스는 벌써 사용자 공간에 있는 것으로서 다루어집니다.
    3. 소스 Image 의 바운딩 박스는, 현재의 Transform 를 사용해 사용자 공간으로부터 디바이스 공간에 변환됩니다. 다만, 바운딩 박스를 변환한 결과가, 디바이스 공간에서 구형 영역이 된다고는 할 수 없습니다.
    4. Image 객체는 draw 하는 색을 지정합니다. 색은, 현재의 Transform 와 옵션의 이미지 변환에 의해 지정된 소스로부터 목적지에의 매핑에 따라 샘플링 됩니다.

디폴트의 draw 속성

Graphics2D draw 속성의 디폴트 값를 다음에 나타냅니다.
Paint
Component 의 색
Font
ComponentFont
Stroke
선폭 1, 파선 이루어, 마이타세그먼트 결합, 및 모퉁이 엔드 캡을 가지는 모퉁이 펜
Transform
ComponentGraphicsConfiguration 용의 getDefaultTransform
Composite
AlphaComposite.SRC_OVER 규칙
Clip
draw Clip 이루어, 출력은 Component 에 클립 된다

draw 호환성

JDKTM 1.1 draw 모델은, 좌표가 픽셀간의 무한하게 가는 간격에 존재한다고 하는 픽셀화 모델에 근거합니다. draw 조작은, 윤곽 선상의 엥커 포인트의 오른쪽 및 아래의 픽셀을 전부 칠하는 1 픽셀폭의 펜을 사용해 행해집니다. JDK 1.1 draw 모델은, 지정된 번호의 픽셀에 제대로 들어가지 않으면 안 되는 이산 펜에 정수 좌표를 변환할 필요가 있는, 플랫폼 렌더링의 대부분의 기존 클래스의 기능에 준거하고 있습니다.  

Java 2D(TM) (Java(TM) 2 플랫폼) API 는, 평활화 렌더링을 지원하고 있습니다. 1 픽셀폭의 펜은, 픽셀 N+1 와 대비한 픽셀 N 에 완전하게 들어갈 필요는 없습니다. 펜은, 부분적으로 양쪽 모두의 픽셀에 걸릴 수가 있습니다. 이동하고 있는 펜의 인연이 양쪽 모두의 픽셀에 걸리면(자), 펜의 서브 픽셀 위치가 사용자에게 표시되기 (위해)때문에, 대폭 펜의 바이어스 방향을 선택할 필요는 없습니다. 한편,KEY_ANTIALIASING 힌트 키를 VALUE_ANTIALIAS_OFF 힌트치로 설정하는 것에 의해 평활화를 무효로 했을 경우는, 디바이스 공간에서 정수 좌표에 따라 draw 하고 있을 때 등, 펜이 픽셀 경계를 넘으려 하고 있을 때 어느 쪽의 픽셀을 수정할까 판단하기 위해서(때문에), 렌더링은 바이어스를 적용할 필요가 있습니다. 평활화 렌더링의 기능에 의해, draw 모델은 펜의 바이어스를 지정하는 필요성이 없어졌습니다만, 화면상에서 1 픽셀폭의 수평선 및 수직선을 draw 하는 공통의 케이스에서는, 평활화 렌더링과 비평활화 렌더링은 똑같이 동작할 필요가 있습니다. KEY_ANTIALIASING 힌트 키를 VALUE_ANTIALIAS_ON 로 설정해 평활화를 유효하게 했기 때문에, 이 선폭이 돌연 2 배가 되어 불투명도가 반이 되는 것을 막으려면 , 그러한 선의 윤곽선을 모델로 지정하는 것에 의해, 그 선이 특정의 픽셀세트를 완전하게 커버해 윤곽이 선명히 되도록(듯이) 합니다.  

Java 2D API 는 JDK 1.1 의 draw 동작과의 호환성을 유지하고 있어, Java 2D API 에서는 종래부터의 조작이나 기존의 렌더링의 동작으로 변경은 없습니다. 일반적인 draw 메소드 및 fill 메소드에 매핑 되는 종래의 메소드가 정의되고 있기 (위해)때문에,Stroke 속성과 Transform 속성의 설정 및 draw 힌트에 근거해 Graphics2DGraphics 를 어떻게 확장하고 있을지가 명확하게 나타나고 있습니다. 그 정의는, 디폴트의 속성 설정에서는 똑같이 실행됩니다. 예를 들어, 디폴트의 Stroke 는, 폭 1 및 파선 없음의 BasicStroke 이며, 화면 draw의 디폴트의 Transform 는 항등변환입니다.  

다음의 2 개의 규칙은, 에일리어징 제거 또는 비에일리어징 제거의 어느 쪽이 사용되고 있어도, 예측 가능한 draw 동작을 제공합니다.

다음에 나타내는 일반적인 종래의 메소드의 정의는, 디폴트 속성 설정에서는 이전으로 지정된 동작과 같이 실행됩니다.

Graphics 클래스는, 페인트 되는 색을 제어하기 위해서 setColor 메소드만을 정의합니다. Java 2D API 는,Color 객체를 확장해 새로운 Paint 인터페이스를 구현하므로, 기존의 setColor 메소드는 현재의 Paint 속성을 Color 객체로 설정하기 위한 편리한 메소드가 되어 있습니다. setColor(c)setPaint(c) 에 상당합니다.  

Graphics 클래스는, 색을 목적지에 적용하는 방법을 제어하기 위해서 2 개의 메소드를 정의합니다.

  1. setPaintMode 메소드는,setComposite(new AlphaComposite.SrcOver) 에 상당하는 디폴트의 Composite 를 설정하는 편리한 메소드로서 구현됩니다.
  2. setXORMode(Color xorcolor) 메소드는, 소스 칼라의 Alpha 컴퍼넌트를 무시해, 목적지 칼라를 그 값으로 설정하는 특수한 Composite 객체를 설정하기 위한 편리한 메소드로서 구현됩니다.
     dstpixel = (PixelOf(srccolor) ^ PixelOf(xorcolor) ^ dstpixel);
     

관련 항목:
RenderingHints

생성자 의 개요
protected Graphics2D ()
          새로운 Graphics2D 객체를 구축합니다.
 
메소드의 개요
abstract  void addRenderingHints (Map <?,?> hints)
          draw 알고리즘에 관한 임의의 수의 추천 설정의 값을 설정합니다.
abstract  void clip (Shape  s)
          현재의 Clip 가 지정된 Shape 의 내부와 교차시켜, 결과적으로 생긴 공통 부분에 그 Clip 를 설정합니다.
abstract  void draw (Shape  s)
          현재의 Graphics2D 문맥의 설정을 사용하는 것으로,Shape 의 윤곽을 stroke로 draw 합니다.
 void draw3DRect (int x, int y, int width, int height, boolean raised)
          지정된 구형의 윤곽을 3D 로 강조 표시해 draw 합니다.
abstract  void drawGlyphVector (GlyphVector  g, float x, float y)
          Graphics2D 문맥의 draw 속성을 사용하는 것으로, 지정된 GlyphVector 의 텍스트를 draw 합니다.
abstract  void drawImage (BufferedImage  img, BufferedImageOp  op, int x, int y)
          BufferedImageOp 로 필터 처리되는 BufferedImage 를 draw 합니다.
abstract  boolean drawImage (Image  img, AffineTransform  xform, ImageObserver  obs)
          이미지 공간으로부터 사용자 공간에의 변환을 적용하고 나서, 이미지를 draw 합니다.
abstract  void drawRenderableImage (RenderableImage  img, AffineTransform  xform)
          이미지 공간으로부터 사용자 공간에의 변환을 적용하고 나서,RenderableImage 를 draw 합니다.
abstract  void drawRenderedImage (RenderedImage  img, AffineTransform  xform)
          이미지 공간으로부터 사용자 공간에의 변환을 적용하고 나서,RenderedImage 를 draw 합니다.
abstract  void drawString (AttributedCharacterIterator  iterator, float x, float y)
          지정된 반복자에 의해 텍스트를 그려,TextAttribute 클래스의 스펙에 근거해 속성을 적용합니다.
abstract  void drawString (AttributedCharacterIterator  iterator, int x, int y)
          지정된 반복자에 의해 텍스트를 그려,TextAttribute 클래스의 스펙에 근거해 속성을 적용합니다.
abstract  void drawString (String  str, float x, float y)
          Graphics2D 문맥의 현재의 텍스트 속성 상태를 사용하는 것으로, 특정의 String 에 의해 지정된 텍스트를 draw 합니다.
abstract  void drawString (String  str, int x, int y)
          Graphics2D 문맥의 현재의 텍스트 속성 상태를 사용하는 것으로, 지정된 String 의 텍스트를 draw 합니다.
abstract  void fill (Shape  s)
          Graphics2D 문맥의 설정을 사용하는 것으로,Shape 의 내부를 전부 칠합니다.
 void fill3DRect (int x, int y, int width, int height, boolean raised)
          현재의 색으로 전부 칠해지고 있는, 3D 로 강조 표시된 구형을 그립니다.
abstract  Color getBackground ()
          영역을 클리어 하는데 사용하는 백그라운드 칼라를 돌려줍니다.
abstract  Composite getComposite ()
          Graphics2D 문맥에서의 현재의 Composite 를 돌려줍니다.
abstract  GraphicsConfiguration getDeviceConfiguration ()
          이 Graphics2D 에 관련한 디바이스 구성을 돌려줍니다.
abstract  FontRenderContext getFontRenderContext ()
          이 Graphics2D 문맥에서의 Font 의 draw 문맥을 돌려줍니다.
abstract  Paint getPaint ()
          Graphics2D 문맥에서의 현재의 Paint 를 돌려줍니다.
abstract  Object getRenderingHint (RenderingHints.Key  hintKey)
          draw 알고리즘의 추천 설정의 값을 1 개 돌려줍니다.
abstract  RenderingHints getRenderingHints ()
          draw 알고리즘의 추천 설정을 돌려줍니다.
abstract  Stroke getStroke ()
          Graphics2D 문맥에서의 현재의 Stroke 를 돌려줍니다.
abstract  AffineTransform getTransform ()
          Graphics2D 문맥에서의 현재의 Transform 의 카피를 돌려줍니다.
abstract  boolean hit (Rectangle  rect, Shape  s, boolean onStroke)
          지정된 Shape 가 지정된 Rectangle (디바이스 공간에 있다)와 교차할지 어떨지를 판정합니다.
abstract  void rotate (double theta)
          현재의 Graphics2D Transform 를 회전 변환과 연결합니다.
abstract  void rotate (double theta, double x, double y)
          현재의 Graphics2D Transform 를 이동 후의 회전 변환과 연결합니다.
abstract  void scale (double sx, double sy)
          현재의 Graphics2D Transform 를 슬캘링 변환과 연결합니다.
abstract  void setBackground (Color  color)
          Graphics2D 문맥의 백그라운드 칼라를 설정합니다.
abstract  void setComposite (Composite  comp)
          Graphics2D 문맥의 Composite 를 설정합니다.
abstract  void setPaint (Paint  paint)
          Graphics2D 문맥에 Paint 속성을 설정합니다.
abstract  void setRenderingHint (RenderingHints.Key  hintKey, Object  hintValue)
          draw 알고리즘의 추천 설정의 값을 1 개 설정합니다.
abstract  void setRenderingHints (Map <?,?> hints)
          draw 알고리즘의 모든 추천 설정의 값을, 지정된 hints 에 옮겨놓습니다.
abstract  void setStroke (Stroke  s)
          Graphics2D 문맥의 Stroke 를 설정합니다.
abstract  void setTransform (AffineTransform  Tx)
          Graphics2D 문맥으로 Transform 를 덧쓰기합니다.
abstract  void shear (double shx, double shy)
          현재의 Graphics2D Transform 를 셔링 변환과 연결합니다.
abstract  void transform (AffineTransform  Tx)
          AffineTransform 객체를 이 Graphics2D 에서의 Transform 를 사용해, 후 지정 우선 적용이라고 하는 규칙에 따라 변환합니다.
abstract  void translate (double tx, double ty)
          현재의 Graphics2D Transform 를 이동 변환과 연결합니다.
abstract  void translate (int x, int y)
          Graphics2D 문맥의 원점을, 현재의 좌표계의 점 (x,  y)으로 이동합니다.
 
클래스 java.awt. Graphics 로부터 상속된 메소드
clearRect , clipRect , copyArea , create , create , dispose , drawArc , drawBytes , drawChars , drawImage , drawImage , drawImage , drawImage , drawImage , drawImage , drawLine , drawOval , drawPolygon , drawPolygon , drawPolyline , drawRect , drawRoundRect , fillArc , fillOval , fillPolygon , fillPolygon , fillRect , fillRoundRect , finalize , getClip , getClipBounds , getClipBounds , getClipRect , getColor , getFont , getFontMetrics , getFontMetrics , hitClip , setClip , setClip , setColor , setFont , setPaintMode , setXORMode , toString
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

Graphics2D

protected Graphics2D()
새로운 Graphics2D 객체를 구축합니다. Graphics2D 는 abstract 클래스이며, 다양한 출력 디바이스를 위해서(때문에) 서브 클래스에서 커스터마이즈 되지 않으면 안 되기 때문에,Graphics2D 객체를 직접 작성할 수 없습니다. 대신에, 다른 Graphics2D 객체로부터 취득하는지,Component 에 의해 작성하든가, 혹은 BufferedImage 객체등의 이미지로부터 취득하지 않으면 안됩니다.

관련 항목:
Component.getGraphics() , Graphics.create()
메소드의 상세

draw3DRect

public void draw3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
지정된 구형의 윤곽을 3D 로 강조 표시해 draw 합니다. 구형의 구석은, 경사해, 좌상구석으로부터 빛을 쬔 것처럼 강조 표시됩니다.  

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

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

fill3DRect

public void fill3DRect(int x,
                       int y,
                       int width,
                       int height,
                       boolean raised)
현재의 색으로 전부 칠해지고 있는, 3D 로 강조 표시된 구형을 그립니다. 구형의 구석은, 경사해, 좌상구석으로부터 빛을 쬔 것처럼 강조 표시됩니다. 강조 표시 효과 및 전부 칠해에 사용되는 색은, 현재의 Color 에 의해 지정됩니다. 이 메소드는 현재의 Color 만을 사용해, 현재의 Paint 는 무시합니다.

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

draw

public abstract void draw(Shape  s)
현재의 Graphics2D 문맥의 설정을 사용하는 것으로,Shape 의 윤곽을 stroke로 draw 합니다. 적용되는 draw 속성에는,Clip,Transform,Paint,Composite, 및 Stroke 의 각 속성이 있습니다.

파라미터:
s - draw 되는 Shape
관련 항목:
setStroke(java.awt.Stroke) , setPaint(java.awt.Paint) , Graphics.setColor(java.awt.Color) , transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform) , clip(java.awt.Shape) , Graphics.setClip(int, int, int, int) , setComposite(java.awt.Composite)

drawImage

public abstract boolean drawImage(Image  img,
                                  AffineTransform  xform,
                                  ImageObserver  obs)
이미지 공간으로부터 사용자 공간에의 변환을 적용하고 나서, 이미지를 draw 합니다. 사용자 공간으로부터 디바이스 공간에의 변환은,Graphics2D 에서의 현재의 Transform 에 의해 행해집니다. 지정된 변환은,Graphics2D 문맥의 변환 속성에 적용되기 전에 이미지에 적용됩니다. 적용되는 draw 속성에는,Clip,Transform, 및 Composite 의 각 속성이 있습니다. 다만, 지정된 변환이 역변환을 가지지 않는 경우, draw는 행해지지 않습니다.

파라미터:
img - draw 되는 지정 이미지. img 가 null 의 경우에는 아무것도 실시하지 않는
xform - 이미지 공간으로부터 사용자 공간에의 변환
obs - Image 의 것보다 많은 부분이 변환된다고 통지된다 ImageObserver
반환값:
Image 가 모두 로드 되어 완전하게 draw 되었을 경우는 true, Image 가 아직 로드안의 경우는 false
관련 항목:
transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , clip(java.awt.Shape) , Graphics.setClip(int, int, int, int)

drawImage

public abstract void drawImage(BufferedImage  img,
                               BufferedImageOp  op,
                               int x,
                               int y)
BufferedImageOp 로 필터 처리되는 BufferedImage 를 draw 합니다. 적용되는 draw 속성에는,Clip,Transform, 및 Composite 의 각 속성이 있습니다. 이것은, 다음의 조작에 상당합니다.
 img1 = op.filter(img, null);
 drawImage(img1, new AffineTransform(1f, 0f, 0f, 1f, x, y), null);
 

파라미터:
op - draw전에 이미지에 적용되는 필터
img - draw 되는 지정 BufferedImage. img 가 null 의 경우에는 아무것도 실시하지 않는
x - 이미지의 좌상구석이 draw 되는 사용자 공간의 위치의 x 좌표
y - 이미지의 좌상구석이 draw 되는 사용자 공간의 위치의 y 좌표
관련 항목:
transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , clip(java.awt.Shape) , Graphics.setClip(int, int, int, int)

drawRenderedImage

public abstract void drawRenderedImage(RenderedImage  img,
                                       AffineTransform  xform)
이미지 공간으로부터 사용자 공간에의 변환을 적용하고 나서,RenderedImage 를 draw 합니다. 사용자 공간으로부터 디바이스 공간에의 변환은,Graphics2D 에서의 현재의 Transform 에 의해 행해집니다. 지정된 변환은,Graphics2D 문맥의 변환 속성에 적용되기 전에 이미지에 적용됩니다. 적용되는 draw 속성에는,Clip,Transform, 및 Composite 의 각 속성이 있습니다. 다만, 지정된 변환이 역변환을 가지지 않는 경우, draw는 행해지지 않습니다.

파라미터:
img - draw 되는 이미지. img 가 null 의 경우에는 아무것도 실시하지 않는
xform - 이미지 공간으로부터 사용자 공간에의 변환
관련 항목:
transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , clip(java.awt.Shape) , Graphics.setClip(int, int, int, int)

drawRenderableImage

public abstract void drawRenderableImage(RenderableImage  img,
                                         AffineTransform  xform)
이미지 공간으로부터 사용자 공간에의 변환을 적용하고 나서,RenderableImage 를 draw 합니다. 사용자 공간으로부터 디바이스 공간에의 변환은,Graphics2D 에서의 현재의 Transform 에 의해 행해집니다. 지정된 변환은,Graphics2D 문맥의 변환 속성에 적용되기 전에 이미지에 적용됩니다. 적용되는 draw 속성에는,Clip,Transform, 및 Composite 의 각 속성이 있습니다. 다만, 지정된 변환이 역변환을 가지지 않는 경우, draw는 행해지지 않습니다.

Graphics2D 객체로 설정된 draw 힌트는,RenderableImage 의 draw에 사용할 수 있습니다. 특정의 RenderableImage 에 의해 인식된 특정의 힌트에 명시적인 제어가 필요한 경우나, 어느 힌트가 사용될까를 알아 둘 필요가 있는 경우에는,RenderedImageRenderableImage 로부터 직접 취득해,drawRenderedImage 를 사용해 draw 할 필요가 있습니다.

파라미터:
img - draw 되는 이미지. img 가 null 의 경우에는 아무것도 실시하지 않는
xform - 이미지 공간으로부터 사용자 공간에의 변환
관련 항목:
transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , clip(java.awt.Shape) , Graphics.setClip(int, int, int, int) , drawRenderedImage(java.awt.image.RenderedImage, java.awt.geom.AffineTransform)

drawString

public abstract void drawString(String  str,
                                int x,
                                int y)
Graphics2D 문맥의 현재의 텍스트 속성 상태를 사용하는 것으로, 지정된 String 의 텍스트를 draw 합니다. 최초의 문자의 baseline는, 사용자 공간의 것 (x,  y)에 위치합니다. 적용되는 draw 속성에는,Clip,Transform,Paint,Font, 및 Composite 의 각 속성이 있습니다. 헤브라이어나 아라비아어등의 필기 시스템의 문자에서는, Glyph는 오른쪽에서 왼쪽으로 draw 됩니다. 이 경우에는, 지정된 좌표는 baseline의 좌단의 문자 위치에 있습니다.

정의:
클래스 Graphics 내의 drawString
파라미터:
str - draw 되는 캐릭터 라인
x - String 가 draw 된다 위치의 x 좌표
y - String 가 draw 된다 위치의 y 좌표
예외:
NullPointerException - strnull 의 경우
도입된 버젼:
JDK1. 0
관련 항목:
Graphics.drawBytes(byte[], int, int, int, int) , Graphics.drawChars(char[], int, int, int, int)

drawString

public abstract void drawString(String  str,
                                float x,
                                float y)
Graphics2D 문맥의 현재의 텍스트 속성 상태를 사용하는 것으로, 특정의 String 에 의해 지정된 텍스트를 draw 합니다. 최초의 문자의 baseline는, 사용자 공간의 것 (x,  y)에 위치합니다. 적용되는 draw 속성에는,Clip,Transform,Paint,Font, 및 Composite 의 각 속성이 있습니다. 헤브라이어나 아라비아어등의 필기 시스템의 문자에서는, Glyph는 오른쪽에서 왼쪽으로 draw 됩니다. 이 경우에는, 지정된 좌표는 baseline의 좌단의 문자 위치에 있습니다.

파라미터:
str - draw 되는 String
x - String 가 draw 된다 위치의 x 좌표
y - String 가 draw 된다 위치의 y 좌표
예외:
NullPointerException - str 가 null 의 경우
관련 항목:
setPaint(java.awt.Paint) , Graphics.setColor(java.awt.Color) , Graphics.setFont(java.awt.Font) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , Graphics.setClip(int, int, int, int)

drawString

public abstract void drawString(AttributedCharacterIterator  iterator,
                                int x,
                                int y)
지정된 반복자에 의해 텍스트를 그려,TextAttribute 클래스의 스펙에 근거해 속성을 적용합니다.  

최초의 문자의 baseline는, 사용자 공간의 것 (x,  y)에 위치합니다. 헤브라이어나 아라비아어등의 필기 시스템의 문자에서는, Glyph는 오른쪽에서 왼쪽으로 draw 됩니다. 이 경우에는, 지정된 좌표는 baseline의 좌단의 문자 위치에 있습니다.

정의:
클래스 Graphics 내의 drawString
파라미터:
iterator - draw 되는 텍스트를 가지는 반복자
x - 반복자의 텍스트가 draw 된다 x 좌표
y - 반복자의 텍스트가 draw 된다 y 좌표
예외:
NullPointerException - iterator 가 null 의 경우
관련 항목:
setPaint(java.awt.Paint) , Graphics.setColor(java.awt.Color) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , Graphics.setClip(int, int, int, int)

drawString

public abstract void drawString(AttributedCharacterIterator  iterator,
                                float x,
                                float y)
지정된 반복자에 의해 텍스트를 그려,TextAttribute 클래스의 스펙에 근거해 속성을 적용합니다.  

최초의 문자의 baseline는, 사용자 공간의 것 (x,  y)에 위치합니다. 헤브라이어나 아라비아어등의 필기 시스템의 문자에서는, Glyph는 오른쪽에서 왼쪽으로 draw 됩니다. 이 경우에는, 지정된 좌표는 baseline의 좌단의 문자 위치에 있습니다.

파라미터:
iterator - draw 되는 텍스트를 가지는 반복자
x - 반복자의 텍스트가 draw 된다 x 좌표
y - 반복자의 텍스트가 draw 된다 y 좌표
예외:
NullPointerException - iterator 가 null 의 경우
관련 항목:
setPaint(java.awt.Paint) , Graphics.setColor(java.awt.Color) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , Graphics.setClip(int, int, int, int)

drawGlyphVector

public abstract void drawGlyphVector(GlyphVector  g,
                                     float x,
                                     float y)
Graphics2D 문맥의 draw 속성을 사용하는 것으로, 지정된 GlyphVector 의 텍스트를 draw 합니다. 적용되는 draw 속성에는,Clip,Transform,Paint, 및 Composite 의 각 속성이 있습니다. GlyphVector 는, 개개의 Glyph를 Font 로부터 지정합니다. 또,GlyphVector 는, Glyph의 위치도 포함할 수 있습니다. 이 메소드를 사용하면(자), 화면에 일련의 캐릭터 라인을 가장 빠르게 draw 할 수 있습니다.

파라미터:
g - draw 되는 GlyphVector
x - Glyph가 draw 되는 사용자 공간의 x 위치
y - Glyph가 draw 되는 사용자 공간의 y 위치
예외:
NullPointerException - gnull 의 경우
관련 항목:
Font.createGlyphVector(java.awt.font.FontRenderContext, java.lang.String) , GlyphVector , setPaint(java.awt.Paint) , Graphics.setColor(java.awt.Color) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , Graphics.setClip(int, int, int, int)

fill

public abstract void fill(Shape  s)
Graphics2D 문맥의 설정을 사용하는 것으로,Shape 의 내부를 전부 칠합니다. 적용되는 draw 속성에는,Clip,Transform,Paint, 및 Composite 의 각 속성이 있습니다.

파라미터:
s - 전부 칠해지는 Shape
관련 항목:
setPaint(java.awt.Paint) , Graphics.setColor(java.awt.Color) , transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform) , setComposite(java.awt.Composite) , clip(java.awt.Shape) , Graphics.setClip(int, int, int, int)

hit

public abstract boolean hit(Rectangle  rect,
                            Shape  s,
                            boolean onStroke)
지정된 Shape 가 지정된 Rectangle (디바이스 공간에 있다)와 교차할지 어떨지를 판정합니다. onStroke 가 false 의 경우, 이 메소드는 지정된 Shape 의 내부가 지정된 Rectangle 와 교차할지 어떨지를 조사합니다. onStroketrue 의 경우, 이 메소드는 지정된 Shape 의 윤곽의 Stroke 가 지정된 Rectangle 와 교차할지 어떨지를 조사합니다. 고려되는 draw 속성에는,Clip,Transform, 및 Stroke 의 각 속성이 있습니다.

파라미터:
rect - 히트를 조사하는 디바이스 공간의 영역
s - 히트를 조사하는 Shape
onStroke - stroke로 draw 된 형상을 조사할까 전부 칠해진 형상을 조사하는지를 선택하는 플래그. 플래그가 true 의 경우는, Stroke 의 윤곽이 조사할 수 있다. 플래그가 false 의 경우는, 전부 칠해진 Shape 가 조사할 수 있다
반환값:
히트가 있는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
setStroke(java.awt.Stroke) , fill(java.awt.Shape) , draw(java.awt.Shape) , transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform) , clip(java.awt.Shape) , Graphics.setClip(int, int, int, int)

getDeviceConfiguration

public abstract GraphicsConfiguration  getDeviceConfiguration()
Graphics2D 에 관련한 디바이스 구성을 돌려줍니다.

반환값:
Graphics2D 속성의 디바이스 구성

setComposite

public abstract void setComposite(Composite  comp)
Graphics2D 문맥의 Composite 를 설정합니다. Composite 는,drawImage,drawString,draw, 및 fill 등의 모든 draw 메소드로 사용됩니다. Composite 는, 그래픽스 디바이스에서의 draw 처리중에 새로운 픽셀이 기존의 픽셀과 어떻게 결합되는지를 지정합니다.  

Graphics2D 문맥이 표시 화면의 Component 에 draw 되고 있는 경우,CompositeAlphaComposite 클래스의 인스턴스가 아닌 커스텀 객체입니다. 시큐리티 매니저가 있는 경우는, 시큐리티 매니저의 checkPermission 메소드가 액세스권 AWTPermission("readDisplayPixels") 를 지정해 불려 갑니다.

파라미터:
comp - draw에 사용되는 Composite 객체
예외:
SecurityException - 화면에 draw 하기 위해서 커스텀 Composite 객체가 사용되고 있어 시큐리티 매니저가 설정되어 있는 경우에, 시큐리티 매니저의 checkPermission 메소드가 이 조작을 허가하지 않을 때
관련 항목:
Graphics.setXORMode(java.awt.Color) , Graphics.setPaintMode() , getComposite() , AlphaComposite , SecurityManager.checkPermission(java.security.Permission) , AWTPermission

setPaint

public abstract void setPaint(Paint  paint)
Graphics2D 문맥에 Paint 속성을 설정합니다. 이 메소드를 null Paint 객체로 호출해도, 이 Graphics2D 의 현재의 Paint 속성에는 영향을 주지 않습니다.

파라미터:
paint - draw 프로세스로 색을 생성하기 위해서 사용된다 Paint, 또는 null
관련 항목:
Graphics.setColor(java.awt.Color) , getPaint() , GradientPaint , TexturePaint

setStroke

public abstract void setStroke(Stroke  s)
Graphics2D 문맥의 Stroke 를 설정합니다.

파라미터:
s - draw 프로세스로 Shape 를 stroke로 draw 하기 위해서 사용되는 Stroke 객체
관련 항목:
BasicStroke , getStroke()

setRenderingHint

public abstract void setRenderingHint(RenderingHints.Key  hintKey,
                                      Object  hintValue)
draw 알고리즘의 추천 설정의 값을 1 개 설정합니다. Hint 카테고리에는, draw 품질을 제어하는 것으로, draw 프로세스에서의 draw 속도와 draw 품질과의 전체적인 타협점을 제어하는 것이 포함됩니다. RenderingHints 클래스에서, 공통의 키와 값의 정의의 일부를 참조할 수 있습니다.

파라미터:
hintKey - 설정되는 힌트의 키
hintValue - 지정된 힌트 카테고리의 추천 설정을 가리키는 값
관련 항목:
getRenderingHint(RenderingHints.Key) , RenderingHints

getRenderingHint

public abstract Object  getRenderingHint(RenderingHints.Key  hintKey)
draw 알고리즘의 추천 설정의 값을 1 개 돌려줍니다. Hint 카테고리에는, draw 품질을 제어하는 것으로, draw 프로세스에서의 draw 속도와 draw 품질과의 전체적인 타협점을 제어하는 것이 포함됩니다. RenderingHints 클래스에서, 공통의 키와 값의 정의의 일부를 참조할 수 있습니다.

파라미터:
hintKey - 취득하는 힌트에 대응하는 키
반환값:
지정된 힌트 키의 값을 나타내는 객체. 몇개의 키와 그 키에 관련한 값은 RenderingHints 클래스에서 정의되고 있는
관련 항목:
RenderingHints , setRenderingHint(RenderingHints.Key, Object)

setRenderingHints

public abstract void setRenderingHints(Map <?,?> hints)
draw 알고리즘의 모든 추천 설정의 값을, 지정된 hints 에 옮겨놓습니다. draw 힌트의 기존의 값은 모두 파기되어 기존의 힌트와 값의 새로운 세트가 지정된 Map 객체로부터 초기화됩니다. Hint 카테고리에는, draw 품질을 제어하는 것으로, draw 프로세스에서의 draw 속도와 draw 품질과의 전체적인 타협점을 제어하는 것이 포함됩니다. RenderingHints 클래스에서, 공통의 키와 값의 정의의 일부를 참조할 수 있습니다.

파라미터:
hints - 설정되는 draw 힌트
관련 항목:
getRenderingHints() , RenderingHints

addRenderingHints

public abstract void addRenderingHints(Map <?,?> hints)
draw 알고리즘에 관한 임의의 수의 추천 설정의 값을 설정합니다. 지정된 Map 객체에 있는 draw 힌트의 값만이 변경됩니다. 지정된 객체에 없는 추천 설정은 변경되지 않습니다. Hint 카테고리에는, draw 품질을 제어하는 것으로, draw 프로세스에서의 draw 속도와 draw 품질과의 전체적인 타협점을 제어하는 것이 포함됩니다. RenderingHints 클래스에서, 공통의 키와 값의 정의의 일부를 참조할 수 있습니다.

파라미터:
hints - 설정되는 draw 힌트
관련 항목:
RenderingHints

getRenderingHints

public abstract RenderingHints  getRenderingHints()
draw 알고리즘의 추천 설정을 돌려줍니다. Hint 카테고리에는, draw 품질을 제어하는 것으로, draw 프로세스에서의 draw 속도와 draw 품질과의 전체적인 타협점을 제어하는 것이 포함됩니다. 1 회의 오퍼레이션으로 지정된 모든 힌트 키와 값의 페어를 돌려줍니다. RenderingHints 클래스에서, 공통의 키와 값의 정의의 일부를 참조할 수 있습니다.

반환값:
현재의 추천 설정을 포함하고 있는 RenderingHints 의 인스턴스에의 참조
관련 항목:
RenderingHints , setRenderingHints(Map)

translate

public abstract void translate(int x,
                               int y)
Graphics2D 문맥의 원점을, 현재의 좌표계의 점 (x,  y)으로 이동합니다. Graphics2D 문맥을 수정해, 새로운 원점이 Graphics2D 문맥의 원의 좌표계의 점 (x,  y)에 대응하도록(듯이) 합니다. 이 그래픽스 문맥으로 그 이후의 draw 조작으로 사용되는 좌표는 모두, 이 새로운 원점을 기준으로 합니다.

정의:
클래스 Graphics 내의 translate
파라미터:
x - 지정된 x 좌표
y - 지정된 y 좌표
도입된 버젼:
JDK1. 0

translate

public abstract void translate(double tx,
                               double ty)
현재의 Graphics2D Transform 를 이동 변환과 연결합니다. 이후의 draw는, 이전의 위치를 기준으로 지정된 거리로 이동합니다. 이것은, transform(T)를 호출하는 것에 상당합니다. 다만, T 는 다음의 행렬에 의해 표현되는 AffineTransform 입니다.
                [   1    0    tx  ]
                [   0    1    ty  ]
                [   0    0    1   ]
 

파라미터:
tx - x 축으로 따라 이동하는 거리
ty - y 축으로 따라 이동하는 거리

rotate

public abstract void rotate(double theta)
현재의 Graphics2D Transform 를 회전 변환과 연결합니다. 이후의 draw는, 이전의 원점을 기준으로 지정된 라디안으로 회전합니다. 이것은,transform(R) 를 호출하는 것에 상당합니다. 다만, R 는 다음의 행렬에 의해 표현되는 AffineTransform 입니다.
                [   cos(theta)    -sin(theta)    0   ]
                [   sin(theta)     cos(theta)    0   ]
                [       0              0         1   ]
 
정의 각도 theta 로 회전하면(자), 정의 x 축의 점이 정의 y 축으로 향해 회전됩니다.

파라미터:
theta - 라디안으로 나타낸 회전 각도

rotate

public abstract void rotate(double theta,
                            double x,
                            double y)
현재의 Graphics2D Transform 를 이동 후의 회전 변환과 연결합니다. 이후의 draw는, 지정된 위치로 이동해, 지정된 라디안으로 회전해, 원의 평행이동과 같은 양으로 평행이동 다시 하는 것으로 작성되는 변환에 의해 변환됩니다. 이것은, 다음의 calling sequence에 상당합니다.
                translate(x, y);
                rotate(theta);
                translate(-x, -y);
 
정의 각도 theta 로 회전하면(자), 정의 x 축의 점이 정의 y 축으로 향해 회전됩니다.

파라미터:
theta - 라디안으로 나타낸 회전 각도
x - 회전의 원점의 x 좌표
y - 회전의 원점의 y 좌표

scale

public abstract void scale(double sx,
                           double sy)
현재의 Graphics2D Transform 를 슬캘링 변환과 연결합니다. 이후의 draw는, 이전의 슬캘링을 기준으로 지정된 슬캘링 계수에 따라 사이즈 변경됩니다. 이것은,transform(S) 를 호출하는 것에 상당합니다. 다만, S 는 다음의 행렬에 의해 표현되는 AffineTransform 입니다.
                [   sx   0    0   ]
                [   0    sy   0   ]
                [   0    0    1   ]
 

파라미터:
sx - 이후의 draw 조작의 X 좌표가 이전의 draw 조작을 기준에 곱셈되는 양
sy - 이후의 draw 조작의 Y 좌표가 이전의 draw 조작을 기준에 곱셈되는 양

shear

public abstract void shear(double shx,
                           double shy)
현재의 Graphics2D Transform 를 셔링 변환과 연결합니다. 이후의 draw는, 이전의 위치를 기준으로 지정된 승수로 셔링 됩니다. 이것은,transform(SH) 를 호출하는 것에 상당합니다. 다만, SH 는 다음의 행렬에 의해 표현되는 AffineTransform 입니다.
                [   1   shx   0   ]
                [  shy   1    0   ]
                [   0    0    1   ]
 

파라미터:
shx - Y 좌표의 함수로서 좌표를 정의 X 축방향으로 쉬프트하기 위한 승수
shy - X 좌표의 함수로서 좌표를 정의 Y 축방향으로 쉬프트하기 위한 승수

transform

public abstract void transform(AffineTransform  Tx)
AffineTransform 객체를 이 Graphics2D 에서의 Transform 를 사용해, 후 지정 우선 적용이라고 하는 규칙에 따라 변환합니다. 현재의 Transform 가 Cx 인 경우, Tx 에 의한 변환의 결과는 새로운 Transform Cx'가 됩니다. Cx'는, 이 Graphics2D 용의 현재의 Transform 가 됩니다. 갱신된 Transform Cx'로 점 p 를 변환하는 것은, 최초로 Tx 로 p 를 변환하고 나서, 그 결과를 원의 Transform Cx 로 변환하는 것에 상당합니다. 즉, Cx'(p) = Cx(Tx(p))입니다. 필요에 따라서 Tx 의 카피를 실시하면, Tx 를 그 이상 수정해도 draw에 영향을 주지 않습니다.

파라미터:
Tx - 현재의 Transform 로 변환된다 AffineTransform 객체
관련 항목:
setTransform(java.awt.geom.AffineTransform) , AffineTransform

setTransform

public abstract void setTransform(AffineTransform  Tx)
Graphics2D 문맥으로 Transform 를 덧쓰기합니다. 경고:이 메소드는 새로운 좌표변화를 기존의 변환상에서 적용하는 목적에서는 사용하지 말아 주세요. 이것은,Graphics2D 에는, Swing 컴퍼넌트의 draw 또는 프린터의 해상도를 조정하기 위한 슬캘링 변환의 적용 등, 다른 목적을 위해서(때문에) 필요한 변환이 벌써 포함되어 있기 때문입니다.  

좌표변화를 추가하기 위해서,transform,rotate,scale, 또는shear 메소드를 사용합니다. setTransform 는, 이 예로 나타나고 있는 대로, draw 종료후에 원의 Graphics2D 변환을 복원하기 (위해)때문에인 만큼 사용됩니다.

// Get the current transform AffineTransform saveAT = g2.getTransform(); // Perform transformation g2d.transform(...); // Render g2d.draw(...); // Restore original transform g2d.setTransform(saveAT);

파라미터:
Tx - getTransform 메소드로부터 취득되었다 AffineTransform
관련 항목:
transform(java.awt.geom.AffineTransform) , getTransform() , AffineTransform

getTransform

public abstract AffineTransform  getTransform()
Graphics2D 문맥에서의 현재의 Transform 의 카피를 돌려줍니다.

반환값:
Graphics2D 문맥에서의 현재의 AffineTransform
관련 항목:
transform(java.awt.geom.AffineTransform) , setTransform(java.awt.geom.AffineTransform)

getPaint

public abstract Paint  getPaint()
Graphics2D 문맥에서의 현재의 Paint 를 돌려줍니다.

반환값:
색 또는 패턴을 정의하는 현재의 Graphics2D Paint
관련 항목:
setPaint(java.awt.Paint) , Graphics.setColor(java.awt.Color)

getComposite

public abstract Composite  getComposite()
Graphics2D 문맥에서의 현재의 Composite 를 돌려줍니다.

반환값:
거듭해 맞댐 스타일을 정의하는 현재의 Graphics2D Composite
관련 항목:
setComposite(java.awt.Composite)

setBackground

public abstract void setBackground(Color  color)
Graphics2D 문맥의 백그라운드 칼라를 설정합니다. 백그라운드 칼라는, 영역을 클리어 하기 위해서 사용됩니다. Graphics2DComponent 용으로 작성하면(자), 백그라운드 칼라가 Component 로부터 상속됩니다. Graphics2D 문맥에서의 백그라운드 칼라를 설정해도, 그 이후의 clearRect() 호출해에 작용하는 것만으로,Component 의 백그라운드 칼라에는 영향을 미치지 않습니다. Component 의 백그라운드를 변경하려면 ,Component 의 적절한 메소드를 사용합니다.

파라미터:
color - 이후의 clearRect 의 호출로 사용되는 백그라운드 칼라
관련 항목:
getBackground() , Graphics.clearRect(int, int, int, int)

getBackground

public abstract Color  getBackground()
영역을 클리어 하는데 사용하는 백그라운드 칼라를 돌려줍니다.

반환값:
백그라운드 칼라를 정의하는 현재의 Graphics2D Color
관련 항목:
setBackground(java.awt.Color)

getStroke

public abstract Stroke  getStroke()
Graphics2D 문맥에서의 현재의 Stroke 를 돌려줍니다.

반환값:
선의 스타일을 정의하는 현재의 Graphics2D Stroke
관련 항목:
setStroke(java.awt.Stroke)

clip

public abstract void clip(Shape  s)
현재의 Clip 가 지정된 Shape 의 내부와 교차시켜, 결과적으로 생긴 공통 부분에 그 Clip 를 설정합니다. 지정된 Shape 는, 현재의 Clip 와 교차하기 전에, 현재의 Graphics2D Transform 를 사용해 변환됩니다. 이 메소드를 사용하면(자), 현재의 Clip 를 작게 할 수 있습니다. Clip 를 크게 하려면 ,setClip 메소드를 사용합니다. 이 메소드에 의해 변경된 사용자 클립은, 디바이스의 경계 및 가시성과 관련한 클리핑과는 무관계합니다. 지금까지 설정되어 있는 클립이 없는 경우, 또는 setClipnull 인수를 사용해 클립이 클리어 되고 있는 경우는, 지정된 Shape 가 새로운 사용자 클립이 됩니다.

파라미터:
s - 현재의 Clip 와 교차한다 Shape. snull 의 경우, 이 메소드는 현재의 Clip 를 클리어 한다

getFontRenderContext

public abstract FontRenderContext  getFontRenderContext()
Graphics2D 문맥에서의 Font 의 draw 문맥을 돌려줍니다. FontRenderContext 는, 에일리어징 제거나 부분 메트릭스등의 어플리케이션 힌트외, 타겟 디바이스에 특유의 해상도 (dpi)등의 정보를 캡슐화합니다. 이러한 정보는,FontTextLayout 등의 문자 체재의 포맷을 실행하는 객체의 사용시에 어플리케이션에 의해 제공됩니다. 이 정보는 또, 각종 draw 힌트가 텍스트 draw에 적용되었을 때에, 그 자체의 레이아웃을 실행해, 유효폭이나 행의 높이 등, Glyph의 각종 특성의 정확한 계측을 필요로 하는 어플리케이션에 의해 제공되지 않으면 안됩니다.

반환값:
FontRenderContext 의 인스턴스에의 참조
도입된 버젼:
1.2
관련 항목:
FontRenderContext , Font.createGlyphVector(java.awt.font.FontRenderContext, java.lang.String) , TextLayout

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 도 참조해 주세요.