RenderableImage — 렌더링 가능 이미지 인터페이스
RenderableImage — 렌더링 가능 이미지 인터페이스 (java.awt.image.renderable)
렌더링 독립적 이미지(해상도 독립성을 포함하는 개념)를 위한 공통 인터페이스예요.
본문
RenderableImage는 이미지의 특정 렌더링과 무관하게 기술되고 연산이 적용되는 이미지를 나타내요. 예를 들어 RenderableImage는 해상도 독립적 용어로 회전·크롭될 수 있어요. 그런 다음 초안 미리보기, 고품질 화면 표시, 프린터 같은 다양한 특정 컨텍스트에 각각 최적으로 렌더링될 수 있어요.
RenderedImage는 createRendering() 메서드(RenderContext를 받음)를 통해 RenderableImage에서 반환돼요. RenderContext는 RenderedImage를 어떻게 구성해야 하는지 지정해요. RenderableImage에서 픽셀을 직접 추출하는 것은 불가능해요.
createDefaultRendering()와 createScaledRendering() 메서드는 내부적으로 적절한 RenderContext를 구성하는 편의 메서드예요. 모든 렌더링 메서드는 이전에 생성된 렌더링에 대한 참조를 반환할 수 있어요.
필드
| 필드 | 설명 |
|---|---|
HINTS_OBSERVED |
createRendering 또는 createScaledRendering 메서드로 얻은 RenderedImage의 속성을 식별하는 데 쓸 수 있는 문자열 상수. 그런 속성이 있으면 그 값은 렌더링 생성 시 어떤 힌트가 관찰되었는지 지정하는 RenderingHints 객체 |
메서드
getSources()— 이 RenderableImage의 이미지 데이터 소스인 RenderableImage 벡터 반환. 소스가 없으면 (가능한) 빈 벡터, 정보가 없으면 null 반환getProperty(String name)— 이 이미지의 속성 집합에서 속성 가져오기. 인식되지 않으면java.awt.Image.UndefinedProperty반환getPropertyNames()— getProperty가 인식하는 이름 목록 반환isDynamic()— 같은 인자로 연속 렌더링이 서로 다른 결과를 만들 수 있으면 true 반환. true를 반환해도 항상 안전getWidth()/getHeight()— 사용자 좌표 공간의 너비 / 높이. 관례상 RenderableImage의 보통 너비는 종횡비(너비÷높이), RenderedImage의 보통 높이는 1.0FgetMinX()/getMinY()— 렌더링 독립적 이미지 데이터의 최소 X / Y 좌표createScaledRendering(int w, int h, RenderingHints hints)— 너비 w, 높이 h(픽셀)로 RenderedImage 생성.w == 0이면Math.round(h*(getWidth()/getHeight()))로 취급,h == 0이면Math.round(w*(getHeight()/getWidth()))로 취급. w·h 둘 다 0이면IllegalArgumentException발생createDefaultRendering()— 기본 너비·높이(픽셀)의 RenderedImage 반환. 속도를 위해 저장된 렌더링을 사용할 수 있어요createRendering(RenderContext renderContext)— 주어진 RenderContext로 이 이미지의 렌더링을 나타내는 RenderedImage 생성. RenderableImage의 렌더링을 얻는 가장 일반적인 방법