CropImageFilter — 이미지 자르기 필터

CropImageFilter — 이미지 자르기 필터 (java.awt.image)

이미지를 자르기(cropping) 위한 ImageFilter 클래스예요.

출처: Java API Reference

본문

CropImageFilterjava.awt.image.ImageFilter를 확장해요. 기본 ImageFilter 클래스를 확장해 기존 이미지의 주어진 사각형 영역을 추출하고, 추출된 영역만 담는 새 이미지의 소스를 제공해요. FilteredImageSource 객체와 함께 사용해 기존 이미지의 잘린 버전을 만들도록 설계됐어요.

생성자

public CropImageFilter(int x, int y, int w, int h)

소스 이미지에서 x, y, w, h 파라미터로 지정된 절대 사각형 픽셀 영역을 추출하는 CropImageFilter를 구성해요.

파라미터: x — 추출할 사각형 위쪽의 x 위치 / y — 추출할 사각형 위쪽의 y 위치 / w — 추출할 사각형의 너비 / h — 추출할 사각형의 높이

메서드 상세

setProperties(Hashtable<?,?> props)

public void setProperties(Hashtable<?,?> props)

잘린 영역을 나타내는 프로퍼티를 추가한 후 소스 객체의 프로퍼티를 전달해요. 이 메서드는 super.setProperties를 호출하며, 그 결과 추가 프로퍼티가 더해질 수 있어요.

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

파라미터: props — 소스 객체의 프로퍼티

setDimensions(int w, int h)

public void setDimensions(int w, int h)

소스 이미지의 크기를 무시하고 잘린 사각형 영역의 크기를 ImageConsumer에 전달해요.

파라미터: w — 소스 이미지의 너비 / h — 소스 이미지의 높이

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) 픽셀이 추출할 영역과 교차하는지 판단하고, 출력 영역에 나타나는 픽셀의 부분집합만 통과시켜요.

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

더 알아보기