|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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 ピクセルの保持に使用する整数配列off - 最初のピクセルを配列のどこに格納するかを表すオフセットscansize - 配列上でのピクセルの 1 列の大きさColorModel.getRGBdefault()
public PixelGrabber(ImageProducer ip,
int x,
int y,
int w,
int h,
int[] pix,
int off,
int scansize)
ip - ピクセルを取得するイメージを生成する ImageProducerx - イメージから取得するピクセルの矩形の左上隅の x 座標。イメージのデフォルト (スケーリングされていない) サイズを基準にするy - イメージから取得するピクセルの矩形の左上隅の y 座標w - 取得するピクセルの矩形の幅h - 取得するピクセルの矩形の高さpix - イメージから取得した RGB ピクセルの保持に使用する整数配列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(),
setPixels(int, int, int, int, ColorModel, byte[], int, int),
setPixels(int, int, int, int, ColorModel, int[], int, int)public ColorModel getColorModel()
getStatus(),
ColorModel.getRGBdefault(),
setColorModel(ColorModel)
public void setDimensions(int width,
int height)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることを意図して実装されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setDimensionswidth - この Dimension の幅height - この Dimension の高さpublic void setHints(int hints)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることを意図して実装されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setHintshints - ピクセル処理に使用されるヒントセットpublic void setProperties(Hashtable props)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることを意図して実装されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setPropertiesprops - プロパティのリストpublic void setColorModel(ColorModel model)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることを意図して実装されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setColorModelmodel - 指定された ColorModelgetColorModel()
public void setPixels(int srcX,
int srcY,
int srcW,
int srcH,
ColorModel model,
byte[] pixels,
int srcOff,
int srcScan)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることを意図して実装されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setPixelssrcW - ピクセル領域の幅srcH - ピクセル領域の高さmodel - 指定された ColorModelpixels - ピクセルの配列srcOff - pixels 配列のオフセットsrcScan - pixels 配列内の、あるピクセル行から次のピクセル行までの距離getPixels()
public void setPixels(int srcX,
int srcY,
int srcW,
int srcH,
ColorModel model,
int[] pixels,
int srcOff,
int srcScan)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることを意図して実装されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の setPixelssrcW - ピクセル領域の幅srcH - ピクセル領域の高さmodel - 指定された ColorModelpixels - ピクセルの配列srcOff - pixels 配列のオフセットsrcScan - pixels 配列内の、あるピクセル行から次のピクセル行までの距離getPixels()public void imageComplete(int status)
注: このメソッドは、取り出し対象のピクセルで構成される Image の ImageProducer によって呼び出されることを意図して実装されています。このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
ImageConsumer 内の imageCompletestatus - イメージロードの状態ImageProducer.removeConsumer(java.awt.image.ImageConsumer)public int status()
getStatus は同じ実装を持っていますが、"getXXX" という形式を持つ情報取得メソッドの命名規則に従う getStatus メソッドの使用をお勧めします。
ImageObserver,
getStatus()
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.