- すべての実装されたインタフェース:
ImageConsumer
public class PixelGrabber extends Object implements 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]);
}
}
}
-
フィールドのサマリー
インタフェース java.awt.image.ImageConsumerで宣言されたフィールド
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 PixelGrabber(ImageProducer ip, int x, int y, int w, int h, int[] pix, int off, int scansize)
指定されたImageProducerが生成するイメージからピクセルの矩形部分(x, y, w, h)を指定の配列に取り出す、PixelGrabberオブジェクトを生成します。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オブジェクトを生成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 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()
ピクセルのステータスを返します。
-
コンストラクタの詳細
-
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
- 最初のピクセルを配列のどこに格納するかを表すオフセット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
- 最初のピクセルを配列のどこに格納するかを表すオフセット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 InterruptedExceptionImageまたはImageProducerに、ピクセルの転送を開始し、転送を要求された矩形のピクセルがすべて転送されるまで待つことを要求します。- 戻り値:
- ピクセルの取得に成功した場合はtrue。中断、エラー、またはタイム・アウトの場合はfalse
- 例外:
InterruptedException
- ほかのスレッドがこのスレッドを中断した場合。
-
grabPixels
public boolean grabPixels(long ms) throws InterruptedExceptionピクセルの転送を開始するようImageまたはImageProducerに要求し、目的の矩形のピクセルがすべて転送されるまで、または指定された時間が経過するまで待ちます。 このメソッドは、ms
の値によって、次のように動作します。-
ms == 0
の場合、全ピクセルが転送されるまで待つ -
ms > 0
の場合、指定された時間が経過するか、全ピクセルが転送されるまで待つ。 -
ms < 0
の場合、ピクセルがすべて取得できた場合はtrue
、そうでない場合はfalse
を返し、待たない。
- パラメータ:
ms
- イメージのピクセルが取得を待つ時間(ミリ秒)。これを経過した場合はタイム・アウトになる- 戻り値:
- ピクセルの取得に成功した場合はtrue。中断、エラー、またはタイム・アウトの場合はfalse
- 例外:
InterruptedException
- ほかのスレッドがこのスレッドを中断した場合。
-
-
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でデータを蓄積しようとするので、このメソッドで返される配列オブジェクトは、イメージの取得が完了するまでの間に変化する可能性があります。 -
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によって呼び出されることを意図して実装されています。 このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
- 定義:
setDimensions
、インタフェース:ImageConsumer
- パラメータ:
width
- このDimensionの幅height
- このDimensionの高さ
-
setHints
public void setHints(int hints)setHintsメソッドは、ピクセルを取り出すためにこのクラスが実装しなければならないImageConsumer APIの一部です。ノート: このメソッドは、取出し対象のピクセルで構成されるImageのImageProducerによって呼び出されることを意図して実装されています。 このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
- 定義:
setHints
、インタフェース:ImageConsumer
- パラメータ:
hints
- ピクセル処理に使用されるヒント・セット
-
setProperties
public void setProperties(Hashtable<?,?> props)setPropertiesメソッドは、ピクセルを取り出すためにこのクラスが実装しなければならないImageConsumer APIの一部です。ノート: このメソッドは、取出し対象のピクセルで構成されるImageのImageProducerによって呼び出されることを意図して実装されています。 このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
- 定義:
setProperties
、インタフェース:ImageConsumer
- パラメータ:
props
- プロパティのリスト
-
setColorModel
public void setColorModel(ColorModel model)setColorModelメソッドは、ピクセルを取り出すためにこのクラスが実装しなければならないImageConsumer APIの一部です。ノート: このメソッドは、取出し対象のピクセルで構成されるImageのImageProducerによって呼び出されることを意図して実装されています。 このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
- 定義:
setColorModel
、インタフェース:ImageConsumer
- パラメータ:
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によって呼び出されることを意図して実装されています。 このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
- 定義:
setPixels
、インタフェース:ImageConsumer
- パラメータ:
srcX
- 設定されるピクセルの領域の左上隅のX座標srcY
- 設定されるピクセルの領域の左上隅のY座標srcW
- ピクセル領域の幅srcH
- ピクセル領域の高さmodel
- 指定されたColorModel
pixels
- ピクセルの配列srcOff
- pixels配列のオフセット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によって呼び出されることを意図して実装されています。 このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
- 定義:
setPixels
、インタフェース:ImageConsumer
- パラメータ:
srcX
- 設定されるピクセルの領域の左上隅のX座標srcY
- 設定されるピクセルの領域の左上隅のY座標srcW
- ピクセル領域の幅srcH
- ピクセル領域の高さmodel
- 指定されたColorModel
pixels
- ピクセルの配列srcOff
- pixels配列のオフセットsrcScan
- pixels配列内のあるピクセル行から次のピクセル行までの距離- 関連項目:
getPixels()
-
imageComplete
public void imageComplete(int status)imageCompleteメソッドは、ピクセルを取り出すためにこのクラスが実装しなければならないImageConsumer APIの一部です。ノート: このメソッドは、取出し対象のピクセルで構成されるImageのImageProducerによって呼び出されることを意図して実装されています。 このクラスを使ってイメージからピクセルを取り出す場合は、このメソッドを直接呼び出さないようにしてください。このメソッドを直接呼び出すと、要求されているピクセルを取り出す上で問題が生じる可能性があります。
- 定義:
imageComplete
、インタフェース:ImageConsumer
- パラメータ:
status
- イメージ・ロードのステータス- 関連項目:
ImageProducer.removeConsumer(java.awt.image.ImageConsumer)
-
status
public int status()ピクセルのステータスを返します。 使用可能なピクセル情報を表すImageObserverフラグを返します。 このメソッドとgetStatus
は同じ実装を持っていますが、「getXXX」という形式を持つ情報取得メソッドの命名規則に従うgetStatus
メソッドの使用をお薦めします。- 戻り値:
- すべての関連するImageObserverフラグのビット和
- 関連項目:
ImageObserver
、getStatus()
-