|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.image.MemoryImageSource
public class MemoryImageSource
このクラスは、配列を使って Image のピクセル値を生成する ImageProducer インタフェースを実装します。次の例は、X 軸方向に黒から青へ変化し、Y 軸方向に黒から赤へ変化する 100×100 のイメージです。
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));また、MemoryImageSource は、時間とともに変化して、アニメーションやカスタムレンダリングを可能にするメモリーイメージを管理する機能を持ちます。次に、アニメーションソース、およびデータの信号変化の設定方法の例を示します (Garth Dickie による MemoryAnimationSourceDemo からの適用)。
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,
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 オブジェクトを構築します。 |
|
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 オブジェクトを構築します。 |
メソッドの概要 | |
---|---|
void |
addConsumer(ImageConsumer ic)
このイメージのデータの配信対象となっているコンシューマのリストに ImageConsumer を追加します。 |
boolean |
isConsumer(ImageConsumer ic)
現在このイメージのデータの配信対象となっているコンシューマのリストに ImageConsumer があるかどうかを判定します。 |
void |
newPixels()
このイメージデータを現在要求する ImageConsumer にピクセルの新しいバッファー全体を送出し、アニメーションフレームの送出が完了したことを通知します。 |
void |
newPixels(byte[] newpix,
ColorModel newmodel,
int offset,
int scansize)
新しい byte 配列を、このイメージのピクセルを保持するように変更します。 |
void |
newPixels(int[] newpix,
ColorModel newmodel,
int offset,
int scansize)
新しい int 配列を、このイメージのピクセルを保持するように変更します。 |
void |
newPixels(int x,
int y,
int w,
int h)
このイメージのデータを現在要求する ImageConsumer にピクセルの矩形領域バッファーを送出し、アニメーションフレームの送出が完了したことを通知します。 |
void |
newPixels(int x,
int y,
int w,
int h,
boolean framenotify)
このイメージのデータを現在要求する ImageConsumer に、ピクセルの矩形領域バッファーを送出します。 |
void |
removeConsumer(ImageConsumer ic)
このイメージのデータの配信対象となっているコンシューマのリストから ImageConsumer を削除します。 |
void |
requestTopDownLeftRightResend(ImageConsumer ic)
指定された ImageConsumer に、上から下、左から右の順でもう 1 回イメージデータを配信し直すように要求します。 |
void |
setAnimated(boolean animated)
animated パラメータに従って、このメモリーイメージをマルチフレームのアニメーションまたはシングルフレームの静止イメージに変更します。 |
void |
setFullBufferUpdates(boolean fullbuffers)
変更があったときはいつでもピクセルの完全なバッファーを送出し、このアニメーション化メモリーイメージを常に更新するかどうかを指定します。 |
void |
startProduction(ImageConsumer ic)
このイメージデータを要求するコンシューマのリストに ImageConsumer を追加し、ImageConsumer インタフェース経由でただちにイメージデータの転送を開始します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan)
w
- 矩形ピクセルの幅h
- 矩形ピクセルの高さcm
- 指定された ColorModel
pix
- ピクセルの配列off
- 最初のピクセルを配列のどこに格納するかを表すオフセットscan
- 配列内のあるピクセル行から次のピクセル行までの距離Component.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan, Hashtable<?,?> props)
w
- 矩形ピクセルの幅h
- 矩形ピクセルの高さcm
- 指定された ColorModel
pix
- ピクセルの配列off
- 最初のピクセルを配列のどこに格納するかを表すオフセットscan
- 配列内のあるピクセル行から次のピクセル行までの距離props
- ImageProducer
がイメージ処理で使うプロパティーリストComponent.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan)
w
- 矩形ピクセルの幅h
- 矩形ピクセルの高さcm
- 指定された ColorModel
pix
- ピクセルの配列off
- 最初のピクセルを配列のどこに格納するかを表すオフセットscan
- 配列内のあるピクセル行から次のピクセル行までの距離Component.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan, Hashtable<?,?> props)
w
- 矩形ピクセルの幅h
- 矩形ピクセルの高さcm
- 指定された ColorModel
pix
- ピクセルの配列off
- 最初のピクセルを配列のどこに格納するかを表すオフセットscan
- 配列内のあるピクセル行から次のピクセル行までの距離props
- ImageProducer
がイメージ処理で使うプロパティーリストComponent.createImage(java.awt.image.ImageProducer)
public MemoryImageSource(int w, int h, int[] pix, int off, int scan)
w
- 矩形ピクセルの幅h
- 矩形ピクセルの高さpix
- ピクセルの配列off
- 最初のピクセルを配列のどこに格納するかを表すオフセットscan
- 配列内のあるピクセル行から次のピクセル行までの距離Component.createImage(java.awt.image.ImageProducer)
,
ColorModel.getRGBdefault()
public MemoryImageSource(int w, int h, int[] pix, int off, int scan, Hashtable<?,?> props)
w
- 矩形ピクセルの幅h
- 矩形ピクセルの高さpix
- ピクセルの配列off
- 最初のピクセルを配列のどこに格納するかを表すオフセットscan
- 配列内のあるピクセル行から次のピクセル行までの距離props
- ImageProducer
がイメージ処理で使うプロパティーリストComponent.createImage(java.awt.image.ImageProducer)
,
ColorModel.getRGBdefault()
メソッドの詳細 |
---|
public void addConsumer(ImageConsumer ic)
ImageProducer
内の addConsumer
ic
- 指定された ImageConsumer
NullPointerException
- 指定された ImageConsumer
が null の場合ImageConsumer
public boolean isConsumer(ImageConsumer ic)
ImageProducer
内の isConsumer
ic
- 指定された ImageConsumer
ImageConsumer
がリスト上にある場合は true
、そうでない場合は false
ImageConsumer
public void removeConsumer(ImageConsumer ic)
ImageProducer
内の removeConsumer
ic
- 指定された ImageConsumer
ImageConsumer
public void startProduction(ImageConsumer ic)
ImageProducer
内の startProduction
ic
- ImageConsumer インタフェースを介した、指定された ImageConsumer
イメージデータImageConsumer
public void requestTopDownLeftRightResend(ImageConsumer ic)
ImageProducer
内の requestTopDownLeftRightResend
ic
- 指定された ImageConsumer
ImageConsumer
public void setAnimated(boolean animated)
このメソッドは、すべての ImageConsumer が正常なマルチフレームデータを受け取ることを保証するために、MemoryImageSource の構築後ただちに、イメージが生成される前に呼び出す必要があります。このフラグを設定する前に、ImageConsumer をこの ImageProducer に追加すると、接続した時に利用可能であったピクセルデータのスナップショットだけが ImageConsumer から参照されます。
animated
- そのイメージがマルチフレームアニメーションの場合は true
public void setFullBufferUpdates(boolean fullbuffers)
このメソッドは、MemoryImageSource の構築後ただちに、イメージが作成される前に呼び出され、すべての ImageConsumer に正常なピクセル転送情報を受け渡します。
fullbuffers
- 完全なピクセルバッファーを常に送出する場合は true
setAnimated(boolean)
public void newPixels()
newPixels(int, int, int, int, boolean)
,
ImageConsumer
,
setAnimated(boolean)
public void newPixels(int x, int y, int w, int h)
x
- 送出されるピクセルの矩形の左上隅の X 座標y
- 送出されるピクセルの矩形の左上隅の Y 座標w
- 送出されるピクセルの矩形の幅h
- 送出されるピクセルの矩形の高さnewPixels(int, int, int, int, boolean)
,
ImageConsumer
,
setAnimated(boolean)
,
setFullBufferUpdates(boolean)
public void newPixels(int x, int y, int w, int h, boolean framenotify)
x
- 送出されるピクセルの矩形の左上隅の X 座標y
- 送出されるピクセルの矩形の左上隅の Y 座標w
- 送出されるピクセルの矩形の幅h
- 送出されるピクセルの矩形の高さframenotify
- コンシューマに SINGLEFRAMEDONE
通知を送出する場合は true
ImageConsumer
,
setAnimated(boolean)
,
setFullBufferUpdates(boolean)
public void newPixels(byte[] newpix, ColorModel newmodel, int offset, int scansize)
newpix
- 新しいピクセル配列newmodel
- 指定された ColorModel
offset
- 配列へのオフセットscansize
- 配列内のあるピクセル行から次のピクセル行までの距離newPixels(int, int, int, int, boolean)
,
setAnimated(boolean)
public void newPixels(int[] newpix, ColorModel newmodel, int offset, int scansize)
newpix
- 新しいピクセル配列newmodel
- 指定された ColorModel
offset
- 配列へのオフセットscansize
- 配列内のあるピクセル行から次のピクセル行までの距離newPixels(int, int, int, int, boolean)
,
setAnimated(boolean)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。