JavaTM Platform
Standard Ed. 6

java.awt.image
클래스 RGBImageFilter

java.lang.Object 
  상위를 확장 java.awt.image.ImageFilter 
      상위를 확장 java.awt.image.RGBImageFilter
모든 구현된 인터페이스:
ImageConsumer , Cloneable
직계의 기존의 서브 클래스:
GrayFilter


public abstract class RGBImageFilter
extends ImageFilter

이 클래스는, 디폴트 RGB ColorModel 이미지의 픽셀을 수정하는 ImageFilter 를 용이하게 작성하기 위한 방법을 제공합니다. 또, FilteredImageSource 와 조합해, 기존 이미지의 필터 처리에 사용됩니다. 이 클래스는, 1 개의 메소드를 통해 모든 픽셀 데이터를 변환하기 위한 호출을 제공하는 abstract 클래스입니다. 이 메소드는, ImageProducer 로 사용되고 있는 ColorModel 에 관계없이, 디폴트의 RGB ColorModel 로 픽셀을 한 번으로 변환합니다. 사용할 수 있는 이미지 필터를 작성하기 위해서 정의할 필요가 있는 것은, filterRGB 메소드 뿐입니다. 다음에, 이미지의 적색 성분과 청색 성분을 교환하는 필터 정의의 예를 나타냅니다.


        class RedBlueSwapFilter extends RGBImageFilter {
            public RedBlueSwapFilter() {
                // The filter's operation does not depend on the
                // pixel's location, so IndexColorModels can be
                // filtered directly.
                canFilterIndexColorModel = true;
            }

            public int filterRGB(int x, int y, int rgb) {
                return ((rgb & 0xff00ff00)
                        | ((rgb & 0xff0000) >> 16)
                        | ((rgb & 0xff) << 16));
            }
        }

 

관련 항목:
FilteredImageSource , ImageFilter , ColorModel.getRGBdefault()

필드의 개요
protected  boolean canFilterIndexColorModel
          이 boolean 형은, IndexColorModel 객체의 칼라 테이블 엔트리에 대해서, filterRGB 메소드의 칼라 필터 처리를, 픽셀 단위의 필터 처리 대신에 사용할 수 있을지 어떨지를 나타냅니다.
protected  ColorModel newmodel
          사용자가 substituteColorModel 를 호출했을 때에 origmodel 를 옮겨놓는 ColorModel 입니다.
protected  ColorModel origmodel
          사용자가 substituteColorModel 를 호출했을 때에 newmodel 에 의해 옮겨놓을 수 있는 ColorModel 입니다.
 
클래스 java.awt.image. ImageFilter 로부터 상속된 필드
consumer
 
인터페이스 java.awt.image. ImageConsumer 로부터 상속된 필드
COMPLETESCANLINES , IMAGEABORTED , IMAGEERROR , RANDOMPIXELORDER , SINGLEFRAME , SINGLEFRAMEDONE , SINGLEPASS , STATICIMAGEDONE , TOPDOWNLEFTRIGHT
 
생성자 의 개요
RGBImageFilter ()
           
 
메소드의 개요
 IndexColorModel filterIndexColorModel (IndexColorModel  icm)
          IndexColorModel 객체를 필터 처리합니다.
abstract  int filterRGB (int x, int y, int rgb)
          서브 클래스는, 디폴트의 RGB ColorModel 의 1 개의 입력 픽셀을 1 개의 출력 픽셀로 변환하는 메소드를 지정하지 않으면 안됩니다.
 void filterRGBPixels (int x, int y, int w, int h, int[] pixels, int off, int scansize)
          디폴트의 RGB ColorModel 의 픽셀 버퍼를 필터 처리합니다.
 void setColorModel (ColorModel  model)
          ColorModel 가 IndexColorModel 로, 서브 클래스가 canFilterIndexColorModel 플래그를 true 로 설정했을 경우는, 원의 ColorModel 객체가 setPixels 메소드로 불려 가는 곳은 어디에서라도, 필터 처리된 칼라 모델에 옮겨놓습니다.
 void setPixels (int x, int y, int w, int h, ColorModel  model, byte[] pixels, int off, int scansize)
          ColorModel 객체가, 벌써 변환된 객체와 같은 경우, 변환된 ColorModel 를 사용해 단순하게 픽셀을 건네줍니다.
 void setPixels (int x, int y, int w, int h, ColorModel  model, int[] pixels, int off, int scansize)
          ColorModel 객체가, 벌써 변환된 객체와 같은 경우, 변환된 ColorModel 를 사용해 단순하게 픽셀을 건네줍니다.
 void substituteColorModel (ColorModel  oldcm, ColorModel  newcm)
          치환용의 2 개의 ColorModel 객체를 등록합니다.
 
클래스 java.awt.image. ImageFilter 로부터 상속된 메소드
clone , getFilterInstance , imageComplete , resendTopDownLeftRight , setDimensions , setHints , setProperties
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

origmodel

protected ColorModel  origmodel
사용자가 substituteColorModel 를 호출했을 때에 newmodel 에 의해 옮겨놓을 수 있는 ColorModel 입니다.


newmodel

protected ColorModel  newmodel
사용자가 substituteColorModel 를 호출했을 때에 origmodel 를 옮겨놓는 ColorModel 입니다.


canFilterIndexColorModel

protected boolean canFilterIndexColorModel
이 boolean 형은, IndexColorModel 객체의 칼라 테이블 엔트리에 대해서, filterRGB 메소드의 칼라 필터 처리를, 픽셀 단위의 필터 처리 대신에 사용할 수 있을지 어떨지를 나타냅니다. filterRGB 메소드가, 필터 처리를 실시하는 픽셀의 좌표에 의존하지 않는 경우, 서브 클래스는 이 변수를 생성자 으로 true 로 설정하지 않으면 안됩니다.

관련 항목:
substituteColorModel(java.awt.image.ColorModel, java.awt.image.ColorModel) , filterRGB(int, int, int) , IndexColorModel
생성자 의 상세

RGBImageFilter

public RGBImageFilter()
메소드의 상세

setColorModel

public void setColorModel(ColorModel  model)
ColorModel 가 IndexColorModel 로, 서브 클래스가 canFilterIndexColorModel 플래그를 true 로 설정했을 경우는, 원의 ColorModel 객체가 setPixels 메소드로 불려 가는 곳은 어디에서라도, 필터 처리된 칼라 모델에 옮겨놓습니다. ColorModel 가 IndexColorModel 또는 null 의 경우, 이 메소드는 ImageProducer 가 사용하는 디폴트의 ColorModel 를 오버라이드(override) 해, 디폴트의 RGB ColorModel 를 대신에 지정합니다.  

주:이 메소드는, 필터 처리의 대상이 되는 픽셀로 구성되는 ImageImageProducer 에 의해 불려 가는 것을 상정해 구현되고 있습니다. 이 클래스를 사용해 이미지의 픽셀을 필터 처리하는 개발자는, 이 메소드를 직접 호출하지 말아 주세요. 이 메소드를 직접 호출하면(자), 필터 조작을 방해할 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setColorModel
오버라이드(override):
클래스 ImageFilter 내의 setColorModel
파라미터:
model - 지정된 ColorModel
관련 항목:
ImageConsumer , ColorModel.getRGBdefault()

substituteColorModel

public void substituteColorModel(ColorModel  oldcm,
                                 ColorModel  newcm)
치환용의 2 개의 ColorModel 객체를 등록합니다. setPixels 메소드로 oldcm 가 검출되었을 경우는 newcm 로 옮겨져 픽셀은 새로운 ColorModel 객체를 사용해 그대로 건네받습니다.

파라미터:
oldcm - 처리중으로 옮겨지는 ColorModel 객체
newcm - 처리중에 oldcm 를 옮겨놓는 ColorModel 객체

filterIndexColorModel

public IndexColorModel  filterIndexColorModel(IndexColorModel  icm)
IndexColorModel 객체를 필터 처리합니다. RGBImageFilter 서브 클래스가 제공하는 filterRGB 기능에 의해, 객체의 칼라 테이블의 각 엔트리를 처리합니다. -1 의 좌표는, 칼라 테이블 엔트리가 필터 처리되고 있는 것을 나타냅니다만, 이것은 실제의 픽셀치가 아닙니다.

파라미터:
icm - 필터 처리되는 IndexColorModel 객체
반환값:
필터 처리된 색을 나타내는 새로운 IndexColorModel
예외:
NullPointerException - icm 가 null 의 경우

filterRGBPixels

public void filterRGBPixels(int x,
                            int y,
                            int w,
                            int h,
                            int[] pixels,
                            int off,
                            int scansize)
디폴트의 RGB ColorModel 의 픽셀 버퍼를 필터 처리합니다. filterRGB 메소드로 1 개씩 건네받아 처리됩니다.

파라미터:
x - 픽셀 영역의 좌상구석의 X 좌표
y - 픽셀 영역의 좌상구석의 Y 좌표
w - 픽셀 영역의 폭
h - 픽셀 영역의 높이
pixels - 픽셀의 배열
off - pixels 배열의 오프셋(offset)
scansize - 배열내에서의 있는 픽셀행으로부터 다음의 픽셀행까지의 거리
관련 항목:
ColorModel.getRGBdefault() , filterRGB(int, int, int)

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel  model,
                      byte[] pixels,
                      int off,
                      int scansize)
ColorModel 객체가, 벌써 변환된 객체와 같은 경우, 변환된 ColorModel 를 사용해 단순하게 픽셀을 건네줍니다. 그렇지 않은 경우, byte 픽셀의 버퍼를 디폴트의 RGB ColorModel 로 변환해, 변환된 버퍼를 filterRGBPixels 메소드에 건네주어, 1 개(살)씩 변환합니다.  

주:이 메소드는, 필터 처리의 대상이 되는 픽셀로 구성되는 ImageImageProducer 에 의해 불려 가는 것을 상정해 구현되고 있습니다. 이 클래스를 사용해 이미지의 픽셀을 필터 처리하는 개발자는, 이 메소드를 직접 호출하지 말아 주세요. 이 메소드를 직접 호출하면(자), 필터 조작을 방해할 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setPixels
오버라이드(override):
클래스 ImageFilter 내의 setPixels
파라미터:
x - 설정되는 픽셀 영역의 좌상구석의 X 좌표
y - 설정되는 픽셀 영역의 좌상구석의 Y 좌표
w - 픽셀 영역의 폭
h - 픽셀 영역의 높이
model - 지정된 ColorModel
pixels - 픽셀의 배열
off - pixels 배열의 오프셋(offset)
scansize - pixels 배열내의 어느 픽셀행으로부터 다음의 픽셀행까지의 거리
관련 항목:
ColorModel.getRGBdefault() , filterRGBPixels(int, int, int, int, int[], int, int)

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel  model,
                      int[] pixels,
                      int off,
                      int scansize)
ColorModel 객체가, 벌써 변환된 객체와 같은 경우, 변환된 ColorModel 를 사용해 단순하게 픽셀을 건네줍니다. 그렇지 않은 경우, int 픽셀의 버퍼를 디폴트의 RGB ColorModel 로 변환해, 변환된 버퍼를 filterRGBPixels 메소드에 건네주어, 1 개(살)씩 변환합니다. int 픽셀의 버퍼를 디폴트의 RGB ColorModel 로 변환해, 변환된 버퍼를 filterRGBPixels 메소드에 건네줍니다.  

주:이 메소드는, 필터 처리의 대상이 되는 픽셀로 구성되는 ImageImageProducer 에 의해 불려 가는 것을 상정해 구현되고 있습니다. 이 클래스를 사용해 이미지의 픽셀을 필터 처리하는 개발자는, 이 메소드를 직접 호출하지 말아 주세요. 이 메소드를 직접 호출하면(자), 필터 조작을 방해할 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setPixels
오버라이드(override):
클래스 ImageFilter 내의 setPixels
파라미터:
x - 설정되는 픽셀 영역의 좌상구석의 X 좌표
y - 설정되는 픽셀 영역의 좌상구석의 Y 좌표
w - 픽셀 영역의 폭
h - 픽셀 영역의 높이
model - 지정된 ColorModel
pixels - 픽셀의 배열
off - pixels 배열의 오프셋(offset)
scansize - pixels 배열내의 어느 픽셀행으로부터 다음의 픽셀행까지의 거리
관련 항목:
ColorModel.getRGBdefault() , filterRGBPixels(int, int, int, int, int[], int, int)

filterRGB

public abstract int filterRGB(int x,
                              int y,
                              int rgb)
서브 클래스는, 디폴트의 RGB ColorModel 의 1 개의 입력 픽셀을 1 개의 출력 픽셀로 변환하는 메소드를 지정하지 않으면 안됩니다.

파라미터:
x - 픽셀의 X 좌표
y - 픽셀의 Y 좌표
rgb - 디폴트 RGB 칼라 모델의 정수형 픽셀 표현
반환값:
디폴트 RGB 칼라 모델의 필터 처리된 픽셀
관련 항목:
ColorModel.getRGBdefault() , filterRGBPixels(int, int, int, int, int[], int, int)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.