- java.lang.Object
- 
- java.awt.image.MemoryImageSource
 
- 
- すべての実装されたインタフェース:
- ImageProducer
 
 public class MemoryImageSource extends Object implements ImageProducer このクラスは、配列を使ってImageのピクセル値を生成するImageProducerインタフェースを実装します。 次の例は、X軸方向に黒から青へ変化し、Y軸方向に黒から赤へ変化する100×100のイメージです。
 また、MemoryImageSourceは、時間とともに変化して、アニメーションやカスタム・レンダリングを可能にするメモリー・イメージを管理する機能を持ちます。 次に、アニメーション・ソース、およびデータの信号変化の設定方法の例を示します(Garth DickieによるMemoryAnimationSourceDemoからの適用)。int w = 100; int h = 100; int pix[] = new int[w * h]; int index = 0; for (int y = 0; y < h; y++) { int red = (y * 255) / (h - 1); for (int x = 0; x < w; x++) { int blue = (x * 255) / (w - 1); pix[index++] = (255 << 24) | (red << 16) | blue; } } Image img = createImage(new MemoryImageSource(w, h, pix, 0, w));int pixels[]; MemoryImageSource source; public void init() { int width = 50; int height = 50; int size = width * height; pixels = new int[size]; int value = getBackground().getRGB(); for (int i = 0; i < size; i++) { pixels[i] = value; } source = new MemoryImageSource(width, height, pixels, 0, width); source.setAnimated(true); image = createImage(source); } public void run() { Thread me = Thread.currentThread( ); me.setPriority(Thread.MIN_PRIORITY); while (true) { try { Thread.sleep(10); } catch( InterruptedException e ) { return; } // Modify the values in the pixels array at (x, y, w, h) // Send the new data to the interested ImageConsumers source.newPixels(x, y, w, h); } }- 関連項目:
- ImageProducer
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 MemoryImageSource(int w, int h, int[] pix, int off, int scan)デフォルトRGBカラー・モデルの整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。MemoryImageSource(int w, int h, int[] pix, int off, int scan, Hashtable<?,?> props)デフォルトRGBカラー・モデルの整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan)byte配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan, Hashtable<?,?> props)byte配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan)整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan, Hashtable<?,?> props)整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 voidaddConsumer(ImageConsumer ic)このイメージのデータの配信対象となっているコンシューマのリストにImageConsumerを追加します。booleanisConsumer(ImageConsumer ic)現在このイメージのデータの配信対象となっているコンシューマのリストにImageConsumerがあるかどうかを判定します。voidnewPixels()このイメージ・データを現在要求するImageConsumerにピクセルの新しいバッファ全体を送出し、アニメーション・フレームの送出が完了したことを通知します。voidnewPixels(byte[] newpix, ColorModel newmodel, int offset, int scansize)新しいbyte配列を、このイメージのピクセルを保持するように変更します。voidnewPixels(int[] newpix, ColorModel newmodel, int offset, int scansize)新しいint配列を、このイメージのピクセルを保持するように変更します。voidnewPixels(int x, int y, int w, int h)このイメージのデータを現在要求するImageConsumerにピクセルの矩形領域バッファを送出し、アニメーション・フレームの送出が完了したことを通知します。voidnewPixels(int x, int y, int w, int h, boolean framenotify)このイメージのデータを現在要求するImageConsumerに、ピクセルの矩形領域バッファを送出します。voidremoveConsumer(ImageConsumer ic)このイメージのデータの配信対象となっているコンシューマのリストからImageConsumerを削除します。voidrequestTopDownLeftRightResend(ImageConsumer ic)指定されたImageConsumerに、上から下、左から右の順でもう1回イメージ・データを配信し直すように要求します。voidsetAnimated(boolean animated)animatedパラメータに従って、このメモリー・イメージをマルチフレームのアニメーションまたはシングル・フレームの静止イメージに変更します。voidsetFullBufferUpdates(boolean fullbuffers)変更があったときはいつでもピクセルの完全なバッファを送出し、このアニメーション化メモリー・イメージを常に更新するかどうかを指定します。voidstartProduction(ImageConsumer ic)このイメージ・データを要求するコンシューマのリストにImageConsumerを追加し、ImageConsumerインタフェース経由でただちにイメージ・データの転送を開始します。
 
- 
- 
- 
コンストラクタの詳細- 
MemoryImageSourcepublic MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan)byte配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。- パラメータ:
- w- ピクセルの矩形の幅
- h- ピクセルの矩形の高さ
- cm- 指定された- ColorModel
- pix- ピクセルの配列
- off- 最初のピクセルを配列のどこに格納するかを表すオフセット
- scan- 配列内のあるピクセル行から次のピクセル行までの距離
- 関連項目:
- Component.createImage(java.awt.image.ImageProducer)
 
 - 
MemoryImageSourcepublic MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan, Hashtable<?,?> props)byte配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。- パラメータ:
- w- ピクセルの矩形の幅
- h- ピクセルの矩形の高さ
- cm- 指定された- ColorModel
- pix- ピクセルの配列
- off- 最初のピクセルを配列のどこに格納するかを表すオフセット
- scan- 配列内のあるピクセル行から次のピクセル行までの距離
- props-- ImageProducerがイメージ処理で使うプロパティ・リスト
- 関連項目:
- Component.createImage(java.awt.image.ImageProducer)
 
 - 
MemoryImageSourcepublic MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan)整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。- パラメータ:
- w- ピクセルの矩形の幅
- h- ピクセルの矩形の高さ
- cm- 指定された- ColorModel
- pix- ピクセルの配列
- off- 最初のピクセルを配列のどこに格納するかを表すオフセット
- scan- 配列内のあるピクセル行から次のピクセル行までの距離
- 関連項目:
- Component.createImage(java.awt.image.ImageProducer)
 
 - 
MemoryImageSourcepublic MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan, Hashtable<?,?> props)整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。- パラメータ:
- w- ピクセルの矩形の幅
- h- ピクセルの矩形の高さ
- cm- 指定された- ColorModel
- pix- ピクセルの配列
- off- 最初のピクセルを配列のどこに格納するかを表すオフセット
- scan- 配列内のあるピクセル行から次のピクセル行までの距離
- props-- ImageProducerがイメージ処理で使うプロパティ・リスト
- 関連項目:
- Component.createImage(java.awt.image.ImageProducer)
 
 - 
MemoryImageSourcepublic MemoryImageSource(int w, int h, int[] pix, int off, int scan)デフォルトRGBカラー・モデルの整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。- パラメータ:
- w- ピクセルの矩形の幅
- h- ピクセルの矩形の高さ
- pix- ピクセルの配列
- off- 最初のピクセルを配列のどこに格納するかを表すオフセット
- scan- 配列内のあるピクセル行から次のピクセル行までの距離
- 関連項目:
- Component.createImage(java.awt.image.ImageProducer),- ColorModel.getRGBdefault()
 
 - 
MemoryImageSourcepublic MemoryImageSource(int w, int h, int[] pix, int off, int scan, Hashtable<?,?> props)デフォルトRGBカラー・モデルの整数型配列を使用してImageオブジェクト・データを生成するImageProducerオブジェクトを構築します。- パラメータ:
- w- ピクセルの矩形の幅
- h- ピクセルの矩形の高さ
- pix- ピクセルの配列
- off- 最初のピクセルを配列のどこに格納するかを表すオフセット
- scan- 配列内のあるピクセル行から次のピクセル行までの距離
- props-- ImageProducerがイメージ処理で使うプロパティ・リスト
- 関連項目:
- Component.createImage(java.awt.image.ImageProducer),- ColorModel.getRGBdefault()
 
 
- 
 - 
メソッドの詳細- 
addConsumerpublic void addConsumer(ImageConsumer ic) このイメージのデータの配信対象となっているコンシューマのリストにImageConsumerを追加します。- 定義:
- addConsumer、インタフェース:- ImageProducer
- パラメータ:
- ic- 指定された- ImageConsumer
- 例外:
- NullPointerException- 指定された- ImageConsumerがnullの場合
- 関連項目:
- ImageConsumer
 
 - 
isConsumerpublic boolean isConsumer(ImageConsumer ic) 現在このイメージのデータの配信対象となっているコンシューマのリストにImageConsumerがあるかどうかを判定します。- 定義:
- isConsumer、インタフェース:- ImageProducer
- パラメータ:
- ic- 指定された- ImageConsumer
- 戻り値:
- ImageConsumerがリスト上にある場合は- true、そうでない場合は- false。
- 関連項目:
- ImageConsumer
 
 - 
removeConsumerpublic void removeConsumer(ImageConsumer ic) このイメージのデータの配信対象となっているコンシューマのリストからImageConsumerを削除します。- 定義:
- removeConsumer、インタフェース:- ImageProducer
- パラメータ:
- ic- 指定された- ImageConsumer
- 関連項目:
- ImageConsumer
 
 - 
startProductionpublic void startProduction(ImageConsumer ic) このイメージ・データを要求するコンシューマのリストにImageConsumerを追加し、ImageConsumerインタフェース経由でただちにイメージ・データの転送を開始します。- 定義:
- startProduction、インタフェース:- ImageProducer
- パラメータ:
- ic- ImageConsumerインタフェースを介した、指定された- ImageConsumerイメージ・データ。
- 関連項目:
- ImageConsumer
 
 - 
requestTopDownLeftRightResendpublic void requestTopDownLeftRightResend(ImageConsumer ic) 指定されたImageConsumerに、上から下、左から右の順でもう1回イメージ・データを配信し直すように要求します。- 定義:
- requestTopDownLeftRightResend、インタフェース:- ImageProducer
- パラメータ:
- ic- 指定された- ImageConsumer
- 関連項目:
- ImageConsumer
 
 - 
setAnimatedpublic void setAnimated(boolean animated) animatedパラメータに従って、このメモリー・イメージをマルチフレームのアニメーションまたはシングル・フレームの静止イメージに変更します。このメソッドは、すべてのImageConsumerが正常なマルチフレーム・データを受け取ることを保証するために、MemoryImageSourceの構築後ただちに、イメージが生成される前に呼び出す必要があります。 このフラグを設定する前に、ImageConsumerをこのImageProducerに追加すると、接続したときに利用可能であったピクセル・データのスナップショットだけがImageConsumerから参照されます。 - パラメータ:
- animated- そのイメージがマルチフレーム・アニメーションの場合は- true
 
 - 
setFullBufferUpdatespublic void setFullBufferUpdates(boolean fullbuffers) 変更があったときはいつでもピクセルの完全なバッファを送出し、このアニメーション化メモリー・イメージを常に更新するかどうかを指定します。 このフラグは、setAnimated()メソッド経由でアニメーション・フラグがオンにならない場合は無視されます。このメソッドは、MemoryImageSourceの構築後ただちに、イメージが作成される前に呼び出され、すべてのImageConsumerに正常なピクセル転送情報を受け渡します。 - パラメータ:
- fullbuffers- 完全なピクセル・バッファを常に送出する場合は- true
- 関連項目:
- setAnimated(boolean)
 
 - 
newPixelspublic void newPixels() このイメージ・データを現在要求するImageConsumerにピクセルの新しいバッファ全体を送出し、アニメーション・フレームの送出が完了したことを通知します。 このメソッドは、setAnimated()メソッドを介して、アニメーション・フラグがオンになっている場合にだけ動作します。
 - 
newPixelspublic void newPixels(int x, int y, int w, int h)このイメージのデータを現在要求するImageConsumerにピクセルの矩形領域バッファを送出し、アニメーション・フレームの送出が完了したことを通知します。 このメソッドは、setAnimated()メソッドを介して、アニメーション・フラグがオンになっている場合にだけ動作します。 setFullBufferUpdates()メソッドで完全バッファ更新フラグがオンになっている場合、矩形パラメータは無視され、全バッファが常に送出されます。- パラメータ:
- x- 送出されるピクセルの矩形の左上隅のX座標
- y- 送出されるピクセルの矩形の左上隅のY座標
- w- 送出されるピクセルの矩形の幅
- h- 送出されるピクセルの矩形の高さ
- 関連項目:
- newPixels(int, int, int, int, boolean),- ImageConsumer,- setAnimated(boolean),- setFullBufferUpdates(boolean)
 
 - 
newPixelspublic void newPixels(int x, int y, int w, int h, boolean framenotify)このイメージのデータを現在要求するImageConsumerに、ピクセルの矩形領域バッファを送出します。 framenotifyパラメータがtrueの場合は、アニメーション・フレームの送出が完了したことも通知します。 このメソッドは、setAnimated()メソッドを介して、アニメーション・フラグがオンになっている場合にだけ動作します。 setFullBufferUpdates()メソッドで完全バッファ更新フラグがオンになっている場合、矩形パラメータは無視され、全バッファが常に送出されます。- パラメータ:
- x- 送出されるピクセルの矩形の左上隅のX座標
- y- 送出されるピクセルの矩形の左上隅のY座標
- w- 送出されるピクセルの矩形の幅
- h- 送出されるピクセルの矩形の高さ
- framenotify- コンシューマに- SINGLEFRAMEDONE通知を送出する場合は- true
- 関連項目:
- ImageConsumer,- setAnimated(boolean),- setFullBufferUpdates(boolean)
 
 - 
newPixelspublic void newPixels(byte[] newpix, ColorModel newmodel, int offset, int scansize)新しいbyte配列を、このイメージのピクセルを保持するように変更します。 setAnimated()メソッド経由でアニメーション・フラグがオンになっている場合、このイメージのデータを現在要求しているImageConsumerに、新しいピクセルをただちに転送します。- パラメータ:
- newpix- 新しいピクセル配列
- newmodel- 指定された- ColorModel
- offset- 配列へのオフセット
- scansize- 配列内のあるピクセル行から次のピクセル行までの距離
- 関連項目:
- newPixels(int, int, int, int, boolean),- setAnimated(boolean)
 
 - 
newPixelspublic void newPixels(int[] newpix, ColorModel newmodel, int offset, int scansize)新しいint配列を、このイメージのピクセルを保持するように変更します。 setAnimated()メソッド経由でアニメーション・フラグがオンになっている場合、このイメージのデータを現在要求しているImageConsumerに、新しいピクセルをただちに転送します。- パラメータ:
- newpix- 新しいピクセル配列
- newmodel- 指定された- ColorModel
- offset- 配列へのオフセット
- scansize- 配列内のあるピクセル行から次のピクセル行までの距離
- 関連項目:
- newPixels(int, int, int, int, boolean),- setAnimated(boolean)
 
 
- 
 
-