|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.image.DataBuffer
このクラスは、1 つ以上のデータ配列をラップするためのものです。DataBuffer にある各データ配列のことを、バンクと呼びます。DataBuffer のバンクの要素を取得および設定するための各アクセス用メソッドは、バンク指示子の有無にかかわらず存在します。バンク指示子のないメソッドは、デフォルトの 0 番目のバンクを使用します。必要に応じて DataBuffer はバンクごとのオフセットをとることができ、これによって既存の配列のデータを、たとえそれが配列位置の 0 から始まっていなくても利用できます。バンクの 0 番目の要素のオフセットの取得または設定には、配列の (0+offset) 番目の要素を使います。size のフィールドには、利用できるデータ配列の範囲を指定します。指定されたバンクの size + offset の値は、それに関連したデータ配列の長さの範囲内にする必要があります。データバッファのデータタイプは、データ配列のタイプを表すほかに、追加セマンティクスも表す場合があります。たとえば、符号なし 8 ビットデータを byte 配列の要素に格納する場合があります。データタイプは、TYPE_UNDEFINED か、以下に定義するタイプの 1 つを指定できます。今後は、ほかのタイプも追加される可能性があります。一般には、クラス DataBuffer のオブジェクトをそのデータタイプ固有のサブクラスの 1 つにキャストダウンして、データタイプ固有のメソッドにアクセスすることでパフォーマンスを向上させることができます。現在、Java 2D(TM) API のイメージ関連のクラスでは、イメージデータの格納には、DataBuffer の TYPE_BYTE、TYPE_USHORT、TYPE_INT、TYPE_SHORT、TYPE_FLOAT、および TYPE_DOUBLE を使用します。
Raster
,
SampleModel
フィールドの概要 | |
protected int |
banks
この DataBuffer のバンク数です。 |
protected int |
dataType
この DataBuffer のデータタイプです。 |
protected int |
offset
最初の要素の取得元のデフォルト (最初の) バンクへのオフセットです。 |
protected int[] |
offsets
すべてのバンクへのオフセットです。 |
protected int |
size
すべてのバンクで使用可能なサイズです。 |
static int |
TYPE_BYTE
符号なし byte データ用のタグです。 |
static int |
TYPE_DOUBLE
double データ用のタグです。 |
static int |
TYPE_FLOAT
float データ用のタグです。 |
static int |
TYPE_INT
int データ用のタグです。 |
static int |
TYPE_SHORT
符号付き short データ用のタグです。 |
static int |
TYPE_UNDEFINED
undefined データ用のタグです。 |
static int |
TYPE_USHORT
符号なし short データ用のタグです。 |
コンストラクタの概要 | |
protected |
DataBuffer(int dataType,
int size)
指定されたデータタイプおよびサイズのバンクを 1 つ格納する DataBuffer を構築します。 |
protected |
DataBuffer(int dataType,
int size,
int numBanks)
指定された数のバンクを格納する DataBuffer を構築します。 |
protected |
DataBuffer(int dataType,
int size,
int numBanks,
int offset)
指定された数のバンクを格納する DataBuffer を構築します。 |
protected |
DataBuffer(int dataType,
int size,
int numBanks,
int[] offsets)
指定された数のバンクを格納する DataBuffer を構築します。 |
メソッドの概要 | |
int |
getDataType()
この DataBuffer のデータタイプを返します。 |
static int |
getDataTypeSize(int type)
datatype のタグに応じて、データタイプのサイズをビット単位で返します。 |
int |
getElem(int i)
要求されたデータ配列要素を、最初の (デフォルトの) バンクから int として返します。 |
abstract int |
getElem(int bank,
int i)
要求されたデータ配列要素を、指定されたバンクから int として返します。 |
double |
getElemDouble(int i)
要求されたデータ配列要素を、最初の (デフォルトの) バンクから double として返します。 |
double |
getElemDouble(int bank,
int i)
要求されたデータ配列要素を、指定されたバンクから double として返します。 |
float |
getElemFloat(int i)
要求されたデータ配列要素を、最初の (デフォルトの) バンクから float として返します。 |
float |
getElemFloat(int bank,
int i)
要求されたデータ配列要素を、指定されたバンクから float として返します。 |
int |
getNumBanks()
この DataBuffer にあるバンク数を返します。 |
int |
getOffset()
デフォルトバンクのオフセットを配列要素数で返します。 |
int[] |
getOffsets()
すべてのバンクのオフセットを配列要素数で返します。 |
int |
getSize()
すべてのバンクのサイズを配列要素数で返します。 |
void |
setElem(int i,
int val)
最初の (デフォルトの) バンクにある要求されたデータ配列要素を、指定された int から設定します。 |
abstract void |
setElem(int bank,
int i,
int val)
指定されたバンク内の要求されたデータ配列要素を、指定された int 値で設定します。 |
void |
setElemDouble(int i,
double val)
最初の (デフォルトの) バンクにある要求されたデータ配列要素を、指定された double 値で設定します。 |
void |
setElemDouble(int bank,
int i,
double val)
指定されたバンクにある要求されたデータ配列要素を、指定された double 値で設定します。 |
void |
setElemFloat(int i,
float val)
最初の (デフォルトの) バンクにある要求されたデータ配列要素を、指定された float 値で設定します。 |
void |
setElemFloat(int bank,
int i,
float val)
指定されたバンクにある要求されたデータ配列要素を、指定された float 値で設定します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int TYPE_BYTE
public static final int TYPE_USHORT
public static final int TYPE_SHORT
public static final int TYPE_INT
public static final int TYPE_FLOAT
public static final int TYPE_DOUBLE
public static final int TYPE_UNDEFINED
protected int dataType
protected int banks
protected int offset
protected int size
protected int[] offsets
コンストラクタの詳細 |
protected DataBuffer(int dataType, int size)
dataType
- この DataBuffer
のデータタイプsize
- バンクのサイズprotected DataBuffer(int dataType, int size, int numBanks)
dataType
- この DataBuffer
のデータタイプsize
- バンクのサイズnumBanks
- この DataBuffer
内のバンク数protected DataBuffer(int dataType, int size, int numBanks, int offset)
dataType
- この DataBuffer
のデータタイプsize
- バンクのサイズnumBanks
- この DataBuffer
内のバンク数offset
- 各バンクのオフセットprotected DataBuffer(int dataType, int size, int numBanks, int[] offsets)
dataType
- この DataBuffer
のデータタイプsize
- バンクのサイズnumBanks
- この DataBuffer
内のバンク数offsets
- 各バンクのオフセットを格納する配列
ArrayIndexOutOfBoundsException
- numBanks
が offsets
の長さと等しくない場合メソッドの詳細 |
public static int getDataTypeSize(int type)
type
- 定義されたデータタイプタグの 1 つの値
IllegalArgumentException
- type
がゼロより小さいか、TYPE_DOUBLE
より大きい場合public int getDataType()
DataBuffer
のデータタイプpublic int getSize()
public int getOffset()
public int[] getOffsets()
public int getNumBanks()
public int getElem(int i)
i
- 要求されたデータ配列要素のインデックス
setElem(int, int)
,
setElem(int, int, int)
public abstract int getElem(int bank, int i)
bank
- 指定されたバンクi
- 要求されたデータ配列要素のインデックス
setElem(int, int)
,
setElem(int, int, int)
public void setElem(int i, int val)
i
- データ配列内への指定されたインデックスval
- データ配列内の指定されたインデックスにある要素を設定するデータgetElem(int)
,
getElem(int, int)
public abstract void setElem(int bank, int i, int val)
bank
- 指定されたバンクi
- データ配列内への指定されたインデックスval
- データ配列内の指定されたインデックスにある、指定されたバンクのデータ配列要素を設定するデータgetElem(int)
,
getElem(int, int)
public float getElemFloat(int i)
i
- 要求されたデータ配列要素のインデックス
setElemFloat(int, float)
,
setElemFloat(int, int, float)
public float getElemFloat(int bank, int i)
getElem(int, int)
を float にキャストします。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。
bank
- 指定されたバンクi
- 要求されたデータ配列要素のインデックス
setElemFloat(int, float)
,
setElemFloat(int, int, float)
public void setElemFloat(int i, float val)
setElem(int, int)
を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。
i
- 指定されたインデックスval
- データ配列内の指定されたインデックスにある要素を設定する値getElemFloat(int)
,
getElemFloat(int, int)
public void setElemFloat(int bank, int i, float val)
setElem(int, int)
を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。
bank
- 指定されたバンクi
- 指定されたインデックスval
- データ配列内の指定されたインデックスにある指定されたバンクの要素を設定する値getElemFloat(int)
,
getElemFloat(int, int)
public double getElemDouble(int i)
getElem(int)
を double にキャストします。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。
i
- 指定されたインデックス
setElemDouble(int, double)
,
setElemDouble(int, int, double)
public double getElemDouble(int bank, int i)
bank
- 指定されたバンクi
- 指定されたインデックス
setElemDouble(int, double)
,
setElemDouble(int, int, double)
public void setElemDouble(int i, double val)
setElem(int, int)
を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。
i
- 指定されたインデックスval
- データ配列の指定されたインデックスにあるデータ配列要素を設定するデータgetElemDouble(int)
,
getElemDouble(int, int)
public void setElemDouble(int bank, int i, double val)
setElem(int, int)
を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。
bank
- 指定されたバンクi
- 指定されたインデックスval
- データ配列の指定されたインデックスにある指定されたバンク内の要素を設定する値getElemDouble(int)
,
getElemDouble(int, int)
|
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.