BufferedImageFilter — 버퍼드 이미지 필터
BufferedImageFilter — 버퍼드 이미지 필터 (java.awt.image)
단일 소스/단일 목적지 이미지 연산자(BufferedImageOp)를 사용해 Image Producer/Consumer/Observer 패러다임에서 BufferedImage를 필터링하는 쉬운 방법을 제공하는 ImageFilter 서브클래스예요. 이러한 이미지 연산자의 예로 ConvolveOp, AffineTransformOp, LookupOp가 있어요.
본문
BufferedImageFilter는 java.awt.image.ImageFilter를 확장하고 Cloneable을 구현해요. ImageConsumer 인터페이스의 메서드(setDimensions, setColorModel, setPixels, imageComplete)에서 제공되는 정보를 필터링해요.
생성자
public BufferedImageFilter(BufferedImageOp op)
지정된 단일 소스/단일 목적지 연산자로 BufferedImageFilter를 구성해요.
예외: NullPointerException — op가 null일 때
메서드 상세
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 메서드에서 제공되는 정보를 필터링해요. model이 null이면 이 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 — 한 행에서 다음 행까지의 거리
예외: IllegalArgumentException — width나 height가 0보다 작을 때
imageComplete(int status)
public void imageComplete(int status)
ImageConsumer 인터페이스의 imageComplete 메서드에서 제공되는 정보를 필터링해요.
파라미터: status — 이미지 로딩 상태
예외: ImagingOpException — 이 인스턴스와 연관된 BufferedImageOp의 filter 메서드를 호출하는 데 문제가 있을 때