| 
 | JavaTM 2 Platform Std. Ed. v1.3 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--java.awt.image.PixelGrabber
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 | 
| コンストラクタの詳細 | 
public PixelGrabber(Image img,
                    int x,
                    int y,
                    int w,
                    int h,
                    int[] pix,
                    int off,
                    int scansize)
img - ピクセルの取得元イメージx - イメージから取り出すピクセルの矩形の左上隅の x 座標。イメージのデフォルト (スケーリングされていない) サイズを基準にするy - イメージから取り出すピクセルの矩形の左上隅の y 座標w - 取り出すピクセルの矩形の幅h - 取り出すピクセルの矩形の高さpix - イメージから取り出した RGB ピクセルを保持するのに使う int 配列off - 最初のピクセルを配列のどこに格納するかを表すオフセットscansize - 配列上でのピクセルの 1 列の大きさColorModel.getRGBdefault()
public PixelGrabber(ImageProducer ip,
                    int x,
                    int y,
                    int w,
                    int h,
                    int[] pix,
                    int off,
                    int scansize)
img - ピクセルの取得元イメージx - イメージから取り出すピクセルの矩形の左上隅の x 座標。イメージのデフォルト (スケーリングされていない) サイズを基準にするy - イメージから取り出すピクセルの矩形の左上隅の y 座標w - 取り出すピクセルの矩形の幅h - 取り出すピクセルの矩形の高さpix - イメージから取り出した RGB ピクセルを保持するのに使う int 配列off - 最初のピクセルを配列のどこに格納するかを表すオフセットscansize - 配列上でのピクセルの 1 列の大きさColorModel.getRGBdefault()
public PixelGrabber(Image img,
                    int x,
                    int y,
                    int w,
                    int h,
                    boolean forceRGB)
img - イメージデータの取得元イメージx - イメージから取り出すピクセルの矩形の左上隅の x 座標。イメージのデフォルト (スケーリングされていない) サイズを基準にするy - イメージから取り出すピクセルの矩形の左上隅の y 座標w - 取り出すピクセルの矩形の幅h - 取り出すピクセルの矩形の高さforceRGB - ピクセルをデフォルト RGB ColorModel に常に変換する場合は true| メソッドの詳細 | 
public void startGrabbing()
public void abortGrabbing()
public boolean grabPixels()
                   throws InterruptedException
InterruptedException - ほかのスレッドがこのスレッドを中断した場合
public boolean grabPixels(long ms)
                   throws InterruptedException
ms の値によって、以下のように動作します。
ms == 0 の場合、全ピクセルが転送されるまで待つ
ms > 0 の場合、時間切れとなっても全ピクセルが転送されるまで待つ
ms < 0 の場合、ピクセルがすべて取得できた場合は true、そうでない場合は false を返し、待たない
ms - 時間切れになるまで、イメージのピクセルが到着するのを待つ時間 (ミリ秒)InterruptedException - ほかのスレッドがこのスレッドを中断した場合public int getStatus()
ImageObserverpublic int getWidth()
getStatus()public int getHeight()
getStatus()public Object getPixels()
getStatus()public ColorModel getColorModel()
getStatus(), 
ColorModel.getRGBdefault()
public void setDimensions(int width,
                          int height)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることが意図されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setDimensionspublic void setHints(int hints)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることが意図されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setHintspublic void setProperties(Hashtable props)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることが意図されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setPropertiespublic void setColorModel(ColorModel model)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることが意図されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setColorModeljava.awt.image.ImageConsumer からコピーされたタグ:ColorModel
public void setPixels(int srcX,
                      int srcY,
                      int srcW,
                      int srcH,
                      ColorModel model,
                      byte[] pixels,
                      int srcOff,
                      int srcScan)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることが意図されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setPixelsjava.awt.image.ImageConsumer からコピーされたタグ:ColorModel
public void setPixels(int srcX,
                      int srcY,
                      int srcW,
                      int srcH,
                      ColorModel model,
                      int[] pixels,
                      int srcOff,
                      int srcScan)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることが意図されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setPixelsjava.awt.image.ImageConsumer からコピーされたタグ:ColorModelpublic void imageComplete(int status)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることが意図されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の imageCompletejava.awt.image.ImageConsumer からコピーされたタグ:ImageProducer.removeConsumer(java.awt.image.ImageConsumer)public int status()
getStatus は同じ実装を持っていますが、getStatus メソッドのほうをお勧めします。getStatus は、"getXXX" という形式を持つ情報取得メソッドの命名規則に従っているからです。ImageObserver, 
getStatus()| 
 | JavaTM 2 Platform Std. Ed. v1.3 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
 Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
 Palo Alto, California, 94303, U.S.A.  All Rights Reserved.