全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.awt.image.PixelGrabber

java.lang.Object
   |
   +----java.awt.image.PixelGrabber

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]);
	    }
	}
 }
 

参照:
getRGBdefault

Constructor Index

 o PixelGrabber(Image, int, int, int, int, boolean)
指定のイメージからピクセルの矩形 (x, y, w, h) 部分を取り出す PixelGrabber オブジェクトを作成する。
 o PixelGrabber(Image, int, int, int, int, int[], int, int)
指定のイメージから定められた配列へ、ピクセルの矩形 (x, y, w, h) 部分を取り出す PixelGrabber オブジェクトを作成する。
 o PixelGrabber(ImageProducer, int, int, int, int, int[], int, int)
指定の ImageProducer が生成したイメージから定められた配列へ、ピクセルの矩形 (x, y, w, h) 部分を取り出す PixelGrabber オブジェクトを作成する。

Method Index

 o abortGrabbing()
PixelGrabber にイメージの取込みを中断するよう要求する。
 o getColorModel()
配列に格納されているピクセルに対する ColorModel を得る。
 o getHeight()
(イメージの高さを調整後) ピクセルバッファの高さを得る。
 o getPixels()
ピクセルバッファを得る。
 o getStatus()
ピクセルの状態を返す。
 o getWidth()
(イメージの幅を調整後) ピクセルバッファの幅を得る。
 o grabPixels()
Image または ImageProducer に、ピクセルの転送を開始し、転送を要求された矩形のピクセルがすべて転送されるまで待つことを要求する。
 o grabPixels(long)
Image または ImageProducer に、ピクセルの転送を開始し、転送を要求された矩形のピクセルがすべて転送されるまで、または指定の時間まで待つことを要求する。
 o imageComplete(int)
imageComplete メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部である。
 o setColorModel(ColorModel)
setColorModel メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部である。
 o setDimensions(int, int)
setDimensions メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部である。
 o setHints(int)
setHints メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部である。
 o setPixels(int, int, int, int, ColorModel, byte[], int, int)
setPixels メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部である。
 o setPixels(int, int, int, int, ColorModel, int[], int, int)
setPixels メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部である。
 o setProperties(Hashtable)
setProperties メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の 一部である。
 o startGrabbing()
PixelGrabber にピクセルの取込み開始を要求する。
 o status()
推奨されない: getStatus()で置き換える。

Constructors

 o 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) の RGB データは、矩形 (x, y, w, h) の中の (i, j) に位置し、配列の pix[(j - y) * scansize + (i - x) + off] に格納されます。

パラメータ:
img - ピクセルが取り出されるイメージ
x - イメージから取り出すピクセルの矩形の左上角の x 座標 (拡縮されていないデフォルトサイズ)
y - イメージから取り出すピクセルの矩形の左上角の y 座標
w - 取り出すピクセルの矩形の幅
h - 取り出すピクセルの矩形の高さ
pix - イメージから取り出した RGB ピクセルを保持する int 配列
off - 最初のピクセルを配列のどこに格納するかを表すオフセット
scansize - 配列上でのピクセルの 1 列の大きさ
参照:
getRGBdefault
 o 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) の RGB データは、矩形 (x, y, w, h) の中の (i, j) に位置し、配列の pix[(j - y) * scansize + (i - x) + off] に格納されます。

パラメータ:
img - ピクセルが取り出されるイメージ
x - イメージから取り出すピクセルの矩形の左上角の x 座標 (拡縮されていないデフォルトサイズ)
y - イメージから取り出すピクセルの矩形の左上角の y 座標
w - 取り出すピクセルの矩形の幅
h - 取り出すピクセルの矩形の高さ
pix - イメージから取り出した RGB ピクセルを保持する int 配列
off - 最初のピクセルを配列のどこに格納するかを表すオフセット
scansize - 配列上でのピクセルの 1 列の大きさ
参照:
getRGBdefault
 o 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

Methods

 o startGrabbing
  public synchronized void startGrabbing()
PixelGrabber にピクセルの取込み開始を要求します。

 o abortGrabbing
  public synchronized void abortGrabbing()
PixelGrabber にイメージの取込み中止を要求します。

 o grabPixels
  public boolean grabPixels() throws InterruptedException
Image または ImageProducer に、ピクセルの転送を開始し、転送を要求された矩形のピクセルがすべて転送されるまで待つことを要求します。

返り値:
ピクセルを取り出すのに成功した場合 true。中断、エラーまたは時間切れの場合 false
例外: InterruptedException
他のスレッドがこのスレッドを中断しました。
 o grabPixels
  public synchronized boolean grabPixels(long ms) throws InterruptedException
Image または ImageProducer に、ピクセルの転送を開始し、転送を要求された矩形のピクセルがすべて転送されるまで、または指定の時間まで待つことを要求します。

パラメータ:
ms - 時間切れになるまで、イメージのピクセルが到着するのを待つ時間 (ミリ秒)
返り値:
ピクセルを取り出すのに成功したら true。中断、エラー、または時間切れのとき false
例外: InterruptedException
他のスレッドがこのスレッドを中断しました。
 o getStatus
  public synchronized int getStatus()
ピクセルの状態を返します。利用可能なピクセルの情報を表す ImageObserver のフラグが返ります。

返り値:
適合する ImageObserverのフラグのビット和
参照:
ImageObserver
 o getWidth
  public synchronized int getWidth()
(イメージの幅を調整後) ピクセルバッファの幅を得ます。ピクセルの矩形の幅が指定されていなかった場合、この情報は、イメージが大きさを転送した後のみ、利用可能です。

返り値:
ピクセルバッファに使用される最終的な幅、未定の場合は、-1
参照:
getStatus
 o getHeight
  public synchronized int getHeight()
(イメージの高さを調整後) ピクセルバッファの高さを得ます。ピクセルの矩形の高さが指定されていなかった場合、この情報は、イメージが大きさを転送した後のみ、利用可能です。

返り値:
ピクセルバッファに使用される最終的な高さ、未定の場合は、-1
参照:
getStatus
 o getPixels
  public synchronized Object getPixels()
ピクセルバッファを得ます。ピクセルを保持する明示的なピクセルバッファで PixelGrabber が作成されなかった場合、このメソッドはイメージのサイズおよび形式が分かるまで null を返します。ソースイメージが複数の ColorModel を使用してデータを転送する場合は常に、PixelGrabber はデフォルト RGB ColorModel でデータを蓄積しようとするので、このメソッドで返される配列オブジェクトは、イメージ獲得が完了するまでの間に変化する可能性があります。

返り値:
byte 配列または int 配列
参照:
getStatus
 o getColorModel
  public synchronized ColorModel getColorModel()
ColorModel を得て、ピクセルを配列に格納します。PixelGrabber が明示的なピクセルバッファで作成される場合、このメソッドは、常にデフォルトの RGB ColorModel を返します。そうでなければ、ImageProducer が使用する ColorModel が分かるまで、null を返します。ソースイメージが複数の ColorModel を使用してデータを転送する場合は常に、PixelGrabber はデフォルトの RGB ColorModel でデータを蓄積しようとするので、このメソッドで返される ColorModel オブジェクトは、イメージ獲得が完了するまでの間に変化する可能性があります。

返り値:
ピクセルの格納に使用される ColorModel オブジェクト
参照:
getStatus, getRGBdefault
 o setDimensions
  public void setDimensions(int width,
                            int height)
setDimensions メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部です。

 o setHints
  public void setHints(int hints)
setHints メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部です。

 o setProperties
  public void setProperties(Hashtable props)
setProperties メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の 一部です。

 o setColorModel
  public void setColorModel(ColorModel model)
setColorModel メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部です。

 o setPixels
  public void setPixels(int srcX,
                        int srcY,
                        int srcW,
                        int srcH,
                        ColorModel model,
                        byte pixels[],
                        int srcOff,
                        int srcScan)
setPixels メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部です。

 o setPixels
  public void setPixels(int srcX,
                        int srcY,
                        int srcW,
                        int srcH,
                        ColorModel model,
                        int pixels[],
                        int srcOff,
                        int srcScan)
setPixels メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部です。

 o imageComplete
  public synchronized void imageComplete(int status)
imageComplete メソッドは、ピクセルを取り出すためにこのクラスが実装しなければならない ImageConsumer API の一部です。

 o status
  public synchronized int status()
推奨されません: getStatus() で置き換えます。


全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス