RenderContext — 렌더 컨텍스트 클래스

RenderContext — 렌더 컨텍스트 클래스 (java.awt.image.renderable)

RenderableImage에서 특정 렌더링을 생성하는 데 필요한 정보를 캡슐화하는 클래스예요.

출처: Java API Reference

본문

RenderContextObject를 확장하고 Cloneable을 구현해요. 렌더링 독립적 용어로 지정된 렌더링될 영역, 렌더링이 수행될 해상도, 렌더링 과정을 제어하는 데 쓰이는 힌트를 포함해요.

사용자는 RenderContext를 만들어 createRendering 메서드를 통해 RenderableImage에 전달해요. RenderContext의 메서드 대부분은 애플리케이션이 직접 쓰기 위한 것이 아니라 RenderableImage와 연산자 클래스가 쓰기 위한 거예요.

이 클래스에 들어오고 나가는 AffineTransform 파라미터는 클론돼요. RenderingHintsShape 파라미터는 반드시 클론 가능하지 않으므로 참조만 복사돼요. RenderContext 인스턴스에 사용 중인 RenderingHints·Shape 인스턴스를 변경하면 원하지 않는 부작용이 있을 수 있어요.

생성자

public RenderContext(AffineTransform usr2dev)
public RenderContext(AffineTransform usr2dev, RenderingHints hints)
public RenderContext(AffineTransform usr2dev, Shape aoi)
public RenderContext(AffineTransform usr2dev, Shape aoi, RenderingHints hints)

주어진 변환, 영역(Shape), 렌더링 힌트로 RenderContext를 구성해요. 영역이 주어지지 않으면 렌더링 가능한 전체 영역으로 간주하고, 힌트가 없으면 렌더링 힌트를 사용하지 않아요.

메서드

  • getRenderingHints() / setRenderingHints(RenderingHints hints) — 이 RenderContext의 렌더링 힌트 가져오기 / 설정
  • setTransform(AffineTransform newTransform) — RenderContext에 담긴 현재 user-to-device AffineTransform을 주어진 변환으로 설정
  • preConcatenateTransform(AffineTransform modTransform) — 현재 user-to-device 변환 앞에 다른 변환을 추가해 수정
  • preConcetenateTransform(AffineTransform modTransform)@Deprecated. preConcatenateTransform(AffineTransform)로 대체됨. 이전 릴리스의 오타 메서드 이름과의 역호환을 위해 존재
  • concatenateTransform(AffineTransform modTransform) — 현재 user-to-device 변환 뒤에 다른 변환을 추가해 수정
  • concetenateTransform(AffineTransform modTransform)@Deprecated. concatenateTransform(AffineTransform)로 대체됨. 역호환용
  • getTransform() — 현재 user-to-device AffineTransform 반환
  • setAreaOfInterest(Shape newAoi) — 현재 영역 설정 (이전 영역은 버려짐)
  • getAreaOfInterest() — 현재 영역 반환, 지정된 게 없으면 null
  • clone() — RenderContext 사본 생성. usr2dev AffineTransform과 힌트는 클론되고 영역은 참조로 복사

더 알아보기