PixelGrabber (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

## 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` - 배열내가 있는 픽셀행으로부터 다음의 픽셀행까지의 거리
  관련 항목:
    `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` - 배열내가 있는 픽셀행으로부터 다음의 픽셀행까지의 거리
  관련 항목:
    `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` == 0 의 경우, 전픽셀이 전송 될 때까지 기다린다
  - `ms` > 0 의 경우, 지정된 시간이 경과해도 전픽셀이 전송 될 때까지 기다린다
  - `ms` < 0 의 경우, 픽셀을 모두 취득할 수 있었을 경우는 `true`, 그렇지 않은 경우는 `false` 를 돌려주어, 기다리지 않는다

  파라미터:
    `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`
  파라미터:
    `srcX` - 설정되는 픽셀 영역의 좌상구석의 X 좌표
    `srcY` - 설정되는 픽셀 영역의 좌상구석의 Y 좌표
    `srcW` - 픽셀 영역의 폭
    `srcH` - 픽셀 영역의 높이
    `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`
  파라미터:
    `srcX` - 설정되는 픽셀 영역의 좌상구석의 X 좌표
    `srcY` - 설정되는 픽셀 영역의 좌상구석의 Y 좌표
    `srcW` - 픽셀 영역의 폭
    `srcH` - 픽셀 영역의 높이
    `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()`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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 도 참조해 주세요.