AbstractMultiResolutionImage — 추상 다중 해상도 이미지

AbstractMultiResolutionImage — 추상 다중 해상도 이미지 (java.awt.image)

MultiResolutionImage 인터페이스를 구현하려는 클래스들을 위해 여러 Image 메서드의 기본 구현을 제공하는 추상 클래스예요. Java 9부터 도입됐어요.

출처: Java API Reference

본문

AbstractMultiResolutionImagejava.awt.Image를 확장하고 MultiResolutionImage 인터페이스를 구현해요. 예를 들어 다음과 같이 사용해요.

// getBaseImage()를 구현해 기본 이미지를 반환하는 서브클래스
public class MyImage extends AbstractMultiResolutionImage {
    @Override
    protected Image getBaseImage() { ... }
    @Override
    public Image getResolutionVariant(double width, double height) { ... }
    @Override
    public List<Image> getResolutionVariants() { ... }
}

java.awt.Image에서 선언된 필드로는 accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty가 있어요.

생성자

protected AbstractMultiResolutionImage()

서브클래스가 호출하기 위한 생성자예요.

메서드 요약

반환 타입 메서드 설명
protected abstract Image getBaseImage() 기본 너비/높이로 렌더링할 가장 좋은 버전의 이미지를 반환해요.
Graphics getGraphics() 항상 UnsupportedOperationException을 던져요.
int getHeight(ImageObserver) 기본 이미지에 위임해요. getBaseImage().getHeight(observer)와 동일해요.
Object getProperty(String, ImageObserver) 기본 이미지에 위임해요. getBaseImage().getProperty(name, observer)와 동일해요.
ImageProducer getSource() 기본 이미지에 위임해요. getBaseImage().getSource()와 동일해요.
int getWidth(ImageObserver) 기본 이미지에 위임해요. getBaseImage().getWidth(observer)와 동일해요.

java.awt.image.MultiResolutionImage 인터페이스에서 선언된 메서드로는 getResolutionVariant, getResolutionVariants가 있어요.

메서드 상세

getWidth(ImageObserver observer)

public int getWidth(ImageObserver observer)
getBaseImage().getWidth(observer)

와 동일하게 기본 이미지의 같은 이름의 메서드로 위임해요.

파라미터: observer — 이미지가 로드되기를 기다리는 객체

반환값: 기본 이미지의 너비, 아직 모르면 -1

getHeight(ImageObserver observer)

public int getHeight(ImageObserver observer)
getBaseImage().getHeight(observer)

와 동일하게 기본 이미지에 위임해요.

파라미터: observer — 이미지가 로드되기를 기다리는 객체

반환값: 기본 이미지의 높이, 아직 모르면 -1

getSource()

public ImageProducer getSource()
getBaseImage().getSource()

와 동일하게 기본 이미지에 위임해요.

반환값: 기본 이미지의 픽셀을 생성하는 이미지 프로듀서

getGraphics()

public Graphics getGraphics()

기본 Image.getGraphics() 메서드의 계약대로, 오프스크린 이미지만 Graphics 객체를 반환할 수 있으므로 이 구현은 항상 UnsupportedOperationException을 던져요.

예외: UnsupportedOperationException — 이 메서드는 지원되지 않음

getProperty(String name, ImageObserver observer)

public Object getProperty(String name,
                          ImageObserver observer)
getBaseImage().getProperty(name, observer)

와 동일하게 기본 이미지에 위임해요.

파라미터: name — 프로퍼티 이름 / observer — 이미지가 로드되기를 기다리는 객체

반환값: 기본 이미지에서 이름으로 지정한 프로퍼티의 값

getBaseImage()

protected abstract Image getBaseImage()

기본 너비와 높이로 렌더링할 가장 좋은 버전의 이미지를 나타내는 기본 이미지를 반환해요.

반환값: 다중 해상도 이미지 집합의 기본 이미지

더 알아보기