BufferedImageFilter — 버퍼드 이미지 필터

BufferedImageFilter — 버퍼드 이미지 필터 (java.awt.image)

단일 소스/단일 목적지 이미지 연산자(BufferedImageOp)를 사용해 Image Producer/Consumer/Observer 패러다임에서 BufferedImage를 필터링하는 쉬운 방법을 제공하는 ImageFilter 서브클래스예요. 이러한 이미지 연산자의 예로 ConvolveOp, AffineTransformOp, LookupOp가 있어요.

출처: Java API Reference

본문

BufferedImageFilterjava.awt.image.ImageFilter를 확장하고 Cloneable을 구현해요. ImageConsumer 인터페이스의 메서드(setDimensions, setColorModel, setPixels, imageComplete)에서 제공되는 정보를 필터링해요.

생성자

public BufferedImageFilter(BufferedImageOp op)

지정된 단일 소스/단일 목적지 연산자로 BufferedImageFilter를 구성해요.

예외: NullPointerExceptionopnull일 때

메서드 상세

getBufferedImageOp()

public BufferedImageOp getBufferedImageOp()

이 필터의 BufferedImageOp 연산자를 반환해요.

setDimensions(int width, int height)

public void setDimensions(int width, int height)

ImageConsumer 인터페이스의 setDimensions 메서드에서 제공되는 정보를 필터링해요.

참고: 이 메서드는 픽셀이 필터링되는 이미지의 ImageProducer가 호출하도록 의도된 메서드예요. 이 클래스로 이미지에서 픽셀을 가져오는 개발자는 직접 호출을 피하는 게 좋아요. 요청된 픽셀을 가져오는 데 문제가 생길 수 있기 때문이에요.

파라미터: width — 설정할 너비 / height — 설정할 높이

setColorModel(ColorModel model)

public void setColorModel(ColorModel model)

ImageConsumer 인터페이스의 setColorModel 메서드에서 제공되는 정보를 필터링해요. modelnull이면 이 BufferedImageFilter의 현재 ColorModel을 지워요.

setPixels(...) (byte, int 오버로드)

public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)

byte 배열(또는 int 배열)을 받는 ImageConsumer 인터페이스의 setPixels 메서드에서 제공되는 정보를 필터링해요.

파라미터: x/y — 설정할 픽셀 영역의 왼쪽 위 좌표 / w/h — 영역의 너비·높이 / model — 지정된 ColorModel / pixels — 픽셀 배열 / off — 배열로의 오프셋 / scansize — 한 행에서 다음 행까지의 거리

예외: IllegalArgumentExceptionwidthheight가 0보다 작을 때

imageComplete(int status)

public void imageComplete(int status)

ImageConsumer 인터페이스의 imageComplete 메서드에서 제공되는 정보를 필터링해요.

파라미터: status — 이미지 로딩 상태

예외: ImagingOpException — 이 인스턴스와 연관된 BufferedImageOp의 filter 메서드를 호출하는 데 문제가 있을 때

더 알아보기