JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.awt.image
클래스 PixelGrabber

java.lang.Object 
  |
  +--java.awt.image.PixelGrabber
모든 구현 인터페이스:
ImageConsumer

public class PixelGrabber
extends Object
implements ImageConsumer

PixelGrabber 클래스는 Image 오브젝트나 ImageProducer 오브젝트와 접속해 그 이미지의 픽셀의 부분집합을 추출 가능한 ImageConsumer 를 구현합니다. 이하에 예를 나타냅니다.

 public void handlesinglepixel(int x, int y, int pixel) {
	int alpha = (pixel >> 24) & 0xff;
	int red   = (pixel >> 16) & 0xff;
	int green = (pixel >>  8) & 0xff;
	int blue  = (pixel      ) & 0xff;
	// Deal with the pixel as necessary...
 }

 public void handlepixels(Image img, int x, int y, int w, int h) {
	int[] pixels = new int[w * h];
	PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w);
	try {
	    pg.grabPixels();
	} catch (InterruptedException e) {
	    System.err.println("interrupted waiting for pixels! ");
	    return;
	}
	if ((pg.getStatus() & ImageObserver.ABORT) ! = 0) {
	    System.err.println("image fetch aborted or errored");
	    return;
	}
	for (int j = 0; j < h; j++) {
	    for (int i = 0; i < w; i++) {
		handlesinglepixel(x+i, y+j, pixels[j * w + i]);
	    }
	}
 }

 

관련 항목:
ColorModel.getRGBdefault()

필드의 개요
 
인터페이스 java.awt.image. ImageConsumer 에서 상속받은 필드
COMPLETESCANLINES , IMAGEABORTED , IMAGEERROR , RANDOMPIXELORDER , SINGLEFRAME , SINGLEFRAMEDONE , SINGLEPASS , STATICIMAGEDONE , TOPDOWNLEFTRIGHT
 
생성자의 개요
PixelGrabber (Image  img, int x, int y, int w, int h, boolean forceRGB)
          지정된 이미지로부터 픽셀의 구형 부분 (x, y, w, h)을 꺼내는 PixelGrabber 오브젝트를 생성합니다.
PixelGrabber (Image  img, int x, int y, int w, int h, int[] pix, int off, int scansize)
          지정된 이미지로부터 픽셀의 구형 부분 (x, y, w, h)이 지정된 배열에 꺼내는 PixelGrabber 오브젝트를 생성합니다.
PixelGrabber (ImageProducer  ip, int x, int y, int w, int h, int[] pix, int off, int scansize)
          지정된 ImageProducer 가 생성하는 이미지로부터 픽셀의 구형 부분 (x, y, w, h)이 지정된 배열에 꺼내는 PixelGrabber 오브젝트를 생성합니다.
 
메소드의 개요
 void abortGrabbing ()
          PixelGrabber 에 이미지의 바쁜 와중지를 요구합니다.
 ColorModel getColorModel ()
          픽셀을 배열에 저장하기 위한 ColorModel 를 돌려줍니다.
 int getHeight ()
          (이미지의 높이를 조정 후) 픽셀 버퍼의 높이를 돌려줍니다.
 Object getPixels ()
          픽셀 버퍼를 돌려줍니다.
 int getStatus ()
          픽셀 상태를 돌려줍니다.
 int getWidth ()
          (이미지의 폭을 조정 후) 픽셀 버퍼의 폭을 돌려줍니다.
 boolean grabPixels ()
          Image 또는 ImageProducer 에, 픽셀의 전송을 개시해, 전송이 요구된 구형의 픽셀이 모두 전송 될 때까지 기다리는 것을 요구합니다.
 boolean grabPixels (long ms)
          픽셀의 전송을 개시하도록(듯이) Image 또는 ImageProducer 에 요구해, 목적의 구형의 픽셀이 모두 전송 될 때까지 또는 지정된 시간이 경과할 때까지 기다립니다.
 void imageComplete (int status)
          imageComplete 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.
 void setColorModel (ColorModel  model)
          setColorModel 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.
 void setDimensions (int width, int height)
          setDimensions 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.
 void setHints (int hints)
          setHints 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.
 void setPixels (int srcX, int srcY, int srcW, int srcH, ColorModel  model, byte[] pixels, int srcOff, int srcScan)
          setPixels 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.
 void setPixels (int srcX, int srcY, int srcW, int srcH, ColorModel  model, int[] pixels, int srcOff, int srcScan)
          setPixels 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.
 void setProperties (Hashtable  props)
          setProperties 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.
 void startGrabbing ()
          PixelGrabber 에 픽셀의 혼잡 개시를 요구합니다.
 int status ()
          픽셀 상태를 돌려줍니다.
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자의 상세

PixelGrabber

public PixelGrabber(Image  img,
                    int x,
                    int y,
                    int w,
                    int h,
                    int[] pix,
                    int off,
                    int scansize)
지정된 이미지로부터 픽셀의 구형 부분 (x, y, w, h)이 지정된 배열에 꺼내는 PixelGrabber 오브젝트를 생성합니다. 픽셀은 디폴트의 RGB ColorModel 로 배열에 저장됩니다. (i, j)(이)가 구형 (x, y, w, h)의 내부에 위치하는 픽셀 (i, j)의 RGB 데이터는 pix[(j - y) * scansize + (i - x) + off] 의 배열에 저장됩니다.

파라미터:
img - 픽셀의 취득원이미지
x - 이미지로부터 취득하는 픽셀의 구형의 좌상구석의 x 좌표. 이미지의 디폴트 (슬캘링되어 있지 않다) 사이즈를 기준으로 하는
y - 이미지로부터 꺼내는 픽셀의 구형의 좌상구석의 y 좌표
w - 취득하는 픽셀의 구형의 폭
h - 취득하는 픽셀의 구형의 높이
pix - 이미지로부터 취득한 RGB 픽셀의 보관 유지에 사용하는 정수 배열
off - 최초의 픽셀을 배열의 어디에 저장하는지를 나타내는 오프셋(offset)
scansize - 배열상에서의 픽셀의 1 열의 크기
관련 항목:
ColorModel.getRGBdefault()

PixelGrabber

public PixelGrabber(ImageProducer  ip,
                    int x,
                    int y,
                    int w,
                    int h,
                    int[] pix,
                    int off,
                    int scansize)
지정된 ImageProducer 가 생성하는 이미지로부터 픽셀의 구형 부분 (x, y, w, h)이 지정된 배열에 꺼내는 PixelGrabber 오브젝트를 생성합니다. 픽셀은 디폴트의 RGB ColorModel 로 배열에 저장됩니다. (i, j)(이)가 구형 (x, y, w, h)의 내부에 위치하는 픽셀 (i, j)의 RGB 데이터는 pix[(j - y) * scansize + (i - x) + off] 의 배열에 저장됩니다.

파라미터:
ip - 픽셀을 취득하는 이미지를 생성하는 ImageProducer
x - 이미지로부터 취득하는 픽셀의 구형의 좌상구석의 x 좌표. 이미지의 디폴트 (슬캘링되어 있지 않다) 사이즈를 기준으로 하는
y - 이미지로부터 취득하는 픽셀의 구형의 좌상구석의 y 좌표
w - 취득하는 픽셀의 구형의 폭
h - 취득하는 픽셀의 구형의 높이
pix - 이미지로부터 취득한 RGB 픽셀의 보관 유지에 사용하는 정수 배열
off - 최초의 픽셀을 배열의 어디에 저장하는지를 나타내는 오프셋(offset)
scansize - 배열상에서의 픽셀의 1 열의 크기
관련 항목:
ColorModel.getRGBdefault()

PixelGrabber

public PixelGrabber(Image  img,
                    int x,
                    int y,
                    int w,
                    int h,
                    boolean forceRGB)
지정된 이미지로부터 픽셀의 구형 부분 (x, y, w, h)을 꺼내는 PixelGrabber 오브젝트를 생성합니다. setPixels 의 호출마다 같은 ColorModel 이 사용되는 경우, 픽셀은 원의 ColorModel 에 축적됩니다. 그렇지 않은 경우, 픽셀은 디폴트 RGB ColorModel 로 축적됩니다. forceRGB 파라미터가 true 의 경우는 픽셀은 디폴트의 RGB ColorModel 로 축적됩니다. PixelGrabber 는 어느 쪽의 경우에서도 픽셀이 보관 유지되도록(듯이) 버퍼를 할당합니다. (w < 0) 또는 (h < 0)의 경우는 정보가 전송 될 때의 나머지의 소스 데이터의 폭과 높이가 디폴트가 됩니다.

파라미터:
img - 이미지 데이터의 취득원이미지
x - 이미지로부터 취득하는 픽셀의 구형의 좌상구석의 x 좌표. 이미지의 디폴트 (슬캘링되어 있지 않다) 사이즈를 기준으로 하는
y - 이미지로부터 취득하는 픽셀의 구형의 좌상구석의 y 좌표
w - 취득하는 픽셀의 구형의 폭
h - 취득하는 픽셀의 구형의 높이
forceRGB - 픽셀을 디폴트 RGB ColorModel 에 항상 변환하는 경우는 true
메소드의 상세

startGrabbing

public void startGrabbing()
PixelGrabber 에 픽셀의 혼잡 개시를 요구합니다.


abortGrabbing

public void abortGrabbing()
PixelGrabber 에 이미지의 바쁜 와중지를 요구합니다.


grabPixels

public boolean grabPixels()
                   throws InterruptedException 
Image 또는 ImageProducer 에, 픽셀의 전송을 개시해, 전송이 요구된 구형의 픽셀이 모두 전송 될 때까지 기다리는 것을 요구합니다.

반환값:
픽셀의 취득에 성공했을 경우는 true. 중단, 에러, 또는 타임 아웃의 경우는 false
예외:
InterruptedException - 다른 thread가 이 thread를 중단했을 경우

grabPixels

public boolean grabPixels(long ms)
                   throws InterruptedException 
픽셀의 전송을 개시하도록(듯이) Image 또는 ImageProducer 에 요구해, 목적의 구형의 픽셀이 모두 전송 될 때까지 또는 지정된 시간이 경과할 때까지 기다립니다. 이 메소드는 ms 의 값에 의해, 이하와 같이 동작합니다.

파라미터:
ms - 이미지의 픽셀이 취득을 기다리는 시간 (밀리 세컨드). 이것을 경과했을 경우는 타임 아웃이 된다
반환값:
픽셀의 취득에 성공했을 경우는 true. 중단, 에러, 또는 타임 아웃의 경우는 false
예외:
InterruptedException - 다른 thread가 이 thread를 중단했을 경우

getStatus

public int getStatus()
픽셀 상태를 돌려줍니다. 이용 가능한 픽셀의 정보를 나타내는 ImageObserver 플래그를 돌려줍니다.

반환값:
모든 관련하는 ImageObserver 플래그의 비트화
관련 항목:
ImageObserver

getWidth

public int getWidth()
(이미지의 폭을 조정 후) 픽셀 버퍼의 폭을 돌려줍니다. 픽셀의 구형의 폭이 지정되어 있지 않았던 경우, 이 정보는 이미지가 크기를 전송 한 뒤에게만 이용 가능합니다.

반환값:
픽셀 버퍼에 사용되는 최종적인 폭. 미정의 경우는 -1
관련 항목:
getStatus()

getHeight

public int getHeight()
(이미지의 높이를 조정 후) 픽셀 버퍼의 높이를 돌려줍니다. 픽셀의 구형의 높이가 지정되어 있지 않았던 경우, 이 정보는 이미지가 크기를 전송 한 뒤에게만 이용 가능합니다.

반환값:
픽셀 버퍼에 사용되는 최종적인 높이. 미정의 경우는 -1
관련 항목:
getStatus()

getPixels

public Object  getPixels()
픽셀 버퍼를 돌려줍니다. 픽셀을 보관 유지하는 명시적인 픽셀 버퍼로 PixelGrabber 가 작성되지 않았던 경우, 이 메소드는 이미지의 사이즈 및 형식을 알 수 있을 때까지 null 를 돌려줍니다. 소스 이미지가 복수의 ColorModel 를 사용해 데이터를 전송 하는 경우는 항상, PixelGrabber 는 디폴트 RGB ColorModel 로 데이터를 축적하려고 하므로, 이 메소드로 돌려주어지는 배열 오브젝트는 이미지의 취득이 완료할 때까지 에 변화할 가능성이 있습니다.

반환값:
byte 배열 또는 int 배열
관련 항목:
getStatus() , setPixels(int, int, int, int, ColorModel, byte[], int, int) , setPixels(int, int, int, int, ColorModel, int[], int, int)

getColorModel

public ColorModel  getColorModel()
픽셀을 배열에 저장하기 위한 ColorModel 를 돌려줍니다. PixelGrabber 가 명시적인 픽셀 버퍼로 구축되는 경우, 이 메소드는 항상 디폴트의 RGB ColorModel 를 돌려줍니다. 그렇지 않은 경우, ImageProducer 가 사용하는 ColorModel 가 판명될 때까지 null 를 돌려줍니다. 소스 이미지가 복수의 ColorModel 를 사용해 데이터를 전송 하는 경우는 항상, PixelGrabber 는 디폴트 RGB ColorModel 로 데이터를 축적하려고 하므로, 이 메소드로 돌려주어지는 ColorModel 오브젝트는 이미지의 취득이 완료할 때까지 에 변화하는 일이 있습니다. 그 경우, 픽셀의 전송에 ImageProducer 가 사용한 ColorModel 오브젝트가 1 개나 반영되지 않을 가능성이 있습니다.

반환값:
픽셀의 저장에 사용되는 ColorModel 오브젝트
관련 항목:
getStatus() , ColorModel.getRGBdefault() , setColorModel(ColorModel)

setDimensions

public void setDimensions(int width,
                          int height)
setDimensions 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.

주: 이 메소드는 꺼내 대상의 픽셀로 구성되는 Image 의 ImageProducer 에 의해 불려 가는 것을 의도해 구현되고 있습니다. 이 클래스를 사용해 이미지로부터 픽셀을 꺼내는 경우는 이 메소드를 직접 호출하지 않게 해 주세요. 이 메소드를 직접 호출하면(자), 요구되고 있는 픽셀을 꺼내는데 있어서 문제가 생길 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setDimensions
파라미터:
width - 이 Dimension 의 폭
height - 이 Dimension 의 높이

setHints

public void setHints(int hints)
setHints 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.

주: 이 메소드는 꺼내 대상의 픽셀로 구성되는 Image 의 ImageProducer 에 의해 불려 가는 것을 의도해 구현되고 있습니다. 이 클래스를 사용해 이미지로부터 픽셀을 꺼내는 경우는 이 메소드를 직접 호출하지 않게 해 주세요. 이 메소드를 직접 호출하면(자), 요구되고 있는 픽셀을 꺼내는데 있어서 문제가 생길 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setHints
파라미터:
hints - 픽셀 처리에 사용되는 힌트 세트

setProperties

public void setProperties(Hashtable  props)
setProperties 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.

주: 이 메소드는 꺼내 대상의 픽셀로 구성되는 Image 의 ImageProducer 에 의해 불려 가는 것을 의도해 구현되고 있습니다. 이 클래스를 사용해 이미지로부터 픽셀을 꺼내는 경우는 이 메소드를 직접 호출하지 않게 해 주세요. 이 메소드를 직접 호출하면(자), 요구되고 있는 픽셀을 꺼내는데 있어서 문제가 생길 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setProperties
파라미터:
props - 프로퍼티의 리스트

setColorModel

public void setColorModel(ColorModel  model)
setColorModel 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.

주: 이 메소드는 꺼내 대상의 픽셀로 구성되는 Image 의 ImageProducer 에 의해 불려 가는 것을 의도해 구현되고 있습니다. 이 클래스를 사용해 이미지로부터 픽셀을 꺼내는 경우는 이 메소드를 직접 호출하지 않게 해 주세요. 이 메소드를 직접 호출하면(자), 요구되고 있는 픽셀을 꺼내는데 있어서 문제가 생길 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setColorModel
파라미터:
model - 지정된 ColorModel
관련 항목:
getColorModel()

setPixels

public void setPixels(int srcX,
                      int srcY,
                      int srcW,
                      int srcH,
                      ColorModel  model,
                      byte[] pixels,
                      int srcOff,
                      int srcScan)
setPixels 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.

주: 이 메소드는 꺼내 대상의 픽셀로 구성되는 Image 의 ImageProducer 에 의해 불려 가는 것을 의도해 구현되고 있습니다. 이 클래스를 사용해 이미지로부터 픽셀을 꺼내는 경우는 이 메소드를 직접 호출하지 않게 해 주세요. 이 메소드를 직접 호출하면(자), 요구되고 있는 픽셀을 꺼내는데 있어서 문제가 생길 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setPixels
파라미터:
srcW - 픽셀 area의 폭
srcH - 픽셀 area의 높이
model - 지정된 ColorModel
pixels - 픽셀의 배열
srcOff - pixels 배열의 오프셋(offset)
srcScan - pixels 배열내의, 어느 픽셀행으로부터 다음의 픽셀행까지의 거리
관련 항목:
getPixels()

setPixels

public void setPixels(int srcX,
                      int srcY,
                      int srcW,
                      int srcH,
                      ColorModel  model,
                      int[] pixels,
                      int srcOff,
                      int srcScan)
setPixels 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.

주: 이 메소드는 꺼내 대상의 픽셀로 구성되는 Image 의 ImageProducer 에 의해 불려 가는 것을 의도해 구현되고 있습니다. 이 클래스를 사용해 이미지로부터 픽셀을 꺼내는 경우는 이 메소드를 직접 호출하지 않게 해 주세요. 이 메소드를 직접 호출하면(자), 요구되고 있는 픽셀을 꺼내는데 있어서 문제가 생길 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 setPixels
파라미터:
srcW - 픽셀 area의 폭
srcH - 픽셀 area의 높이
model - 지정된 ColorModel
pixels - 픽셀의 배열
srcOff - pixels 배열의 오프셋(offset)
srcScan - pixels 배열내의, 어느 픽셀행으로부터 다음의 픽셀행까지의 거리
관련 항목:
getPixels()

imageComplete

public void imageComplete(int status)
imageComplete 메소드는 픽셀을 꺼내기 위해서(때문에) 이 클래스가 구현해야 하는 ImageConsumer API 의 일부입니다.

주: 이 메소드는 꺼내 대상의 픽셀로 구성되는 Image 의 ImageProducer 에 의해 불려 가는 것을 의도해 구현되고 있습니다. 이 클래스를 사용해 이미지로부터 픽셀을 꺼내는 경우는 이 메소드를 직접 호출하지 않게 해 주세요. 이 메소드를 직접 호출하면(자), 요구되고 있는 픽셀을 꺼내는데 있어서 문제가 생길 가능성이 있습니다.

정의:
인터페이스 ImageConsumer 내의 imageComplete
파라미터:
status - 이미지 로드 상태
관련 항목:
ImageProducer.removeConsumer(java.awt.image.ImageConsumer)

status

public int status()
픽셀 상태를 돌려줍니다. 사용 가능한 픽셀 정보를 나타내는 ImageObserver 플래그가 돌려주어집니다. 이 메소드와 getStatus 는 같은 구현을 가지고 있습니다만,"getXXX" 라고 하는 형식을 가지는 정보 취득 메소드의 명명 규칙에 따르는 getStatus 메소드의 사용을 추천합니다.

반환값:
모든 관련하는 ImageObserver 플래그의 비트화
관련 항목:
ImageObserver , getStatus()

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.