ReplicateScaleFilter — 복제 스케일 필터 클래스

ReplicateScaleFilter — 복제 스케일 필터 클래스 (java.awt.image)

가장 단순한 알고리즘으로 이미지를 스케일링하는 ImageFilter 클래스예요.

출처: Java API Reference

본문

ReplicateScaleFilter는 기본 ImageFilter 클래스를 확장해 기존 이미지를 스케일링하고 리샘플링된 이미지를 담은 새 이미지의 소스를 제공해요. 소스 이미지의 픽셀을 샘플링해 지정된 크기의 이미지 픽셀을 생성하는데, 확대 시 픽셀 행·열을 복제하고 축소 시 픽셀 행·열을 생략하는 방식으로 동작해요.

FilteredImageSource 객체와 함께 사용해 기존 이미지의 스케일링 버전을 생성하도록 의도돼 있어요. 구현 의존성 때문에 다른 플랫폼에서 필터링된 이미지의 픽셀 값에 차이가 있을 수 있어요. 직접 하위 클래스는 AreaAveragingScaleFilter예요.

필드

필드 설명
srcWidth / srcHeight 소스 이미지의 너비 / 높이
destWidth / destHeight 이미지를 스케일링할 대상 너비 / 높이
srcrows 픽셀 행에 대한 정보를 담은 int 배열
srccols 픽셀 열에 대한 정보를 담은 int 배열
outpixbuf destWidth 크기로 초기화되고 ImageConsumer에 한 행의 픽셀 데이터를 전달하는 데 사용되는 배열

생성자

public ReplicateScaleFilter(int width, int height)

너비·높이 파라미터가 지정한 대로 소스 Image의 픽셀을 스케일링하는 ReplicateScaleFilter를 구성해요.

예외: IllegalArgumentException — width 또는 height가 0일 때

메서드

  • setProperties(Hashtable<?,?> props) — 적용된 스케일을 나타내는 속성을 추가한 후 소스 객체의 속성을 전달. super.setProperties를 호출해 추가 속성이 추가될 수 있어요. 주의: 필터링되는 Image의 ImageProducer가 호출하도록 의도됐어요. 직접 호출하면 필터링 연산을 방해할 수 있어요.
  • setDimensions(int w, int h) — 소스 이미지의 차원을 재정의하고 새 스케일링 크기의 차원을 ColorModel에 전달. ImageProducer가 호출하도록 의도됨
  • setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize) — 전달된 byte 픽셀 중 대상 스케일링 이미지에 필요한 행·열을 선택하고 필요한 행·열만 복제하며 통과시킴
  • setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize) — int 픽셀에 대해 같은 동작 수행

더 알아보기