クラスDataBuffer
java.lang.Object
java.awt.image.DataBuffer
- 直系の既知のサブクラス:
DataBufferByte,DataBufferDouble,DataBufferFloat,DataBufferInt,DataBufferShort,DataBufferUShort
public abstract class DataBuffer extends Object
このクラスは、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を使用します。
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明protected intこのDataBufferのバンク数です。protected intこのDataBufferのデータ型です。protected int最初の要素の取得元のデフォルト(最初の)バンクへのオフセットです。protected int[]すべてのバンクへのオフセットです。protected intすべてのバンクで使用可能なサイズです。static final int符号なしbyteデータ用のタグです。static final intdoubleデータ用のタグです。static final intfloatデータ用のタグです。static final intintデータ用のタグです。static final int符号付きshortデータ用のタグです。static final intundefinedデータ用のタグです。static final int符号なしshortデータ用のタグです。 -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protectedDataBuffer(int dataType, int size) 指定されたデータ型およびサイズのバンクを1つ格納するDataBufferを構築します。protectedDataBuffer(int dataType, int size, int numBanks) 指定された数のバンクを格納するDataBufferを構築します。protectedDataBuffer(int dataType, int size, int numBanks, int offset) 指定された数のバンクを格納するDataBufferを構築します。protectedDataBuffer(int dataType, int size, int numBanks, int[] offsets) 指定された数のバンクを格納するDataBufferを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明intこのDataBufferのデータ型を返します。static intgetDataTypeSize(int type) datatypeのタグに応じて、データ型のサイズをビット単位で返します。intgetElem(int i) 要求されたデータ配列要素を、最初の(デフォルトの)バンクからintとして返します。abstract intgetElem(int bank, int i) 要求されたデータ配列要素を、指定されたバンクからintとして返します。doublegetElemDouble(int i) 要求されたデータ配列要素を、最初の(デフォルトの)バンクからdoubleとして返します。doublegetElemDouble(int bank, int i) 要求されたデータ配列要素を、指定されたバンクからdoubleとして返します。floatgetElemFloat(int i) 要求されたデータ配列要素を、最初の(デフォルトの)バンクからfloatとして返します。floatgetElemFloat(int bank, int i) 要求されたデータ配列要素を、指定されたバンクからfloatとして返します。intこのDataBufferにあるバンク数を返します。intデフォルト・バンクのオフセットを配列要素数で返します。int[]すべてのバンクのオフセットを配列要素数で返します。intgetSize()すべてのバンクのサイズを配列要素数で返します。voidsetElem(int i, int val) 最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたintから設定します。abstract voidsetElem(int bank, int i, int val) 指定されたバンク内の要求されたデータ配列要素を、指定されたint値で設定します。voidsetElemDouble(int i, double val) 最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたdouble値で設定します。voidsetElemDouble(int bank, int i, double val) 指定されたバンクにある要求されたデータ配列要素を、指定されたdouble値で設定します。voidsetElemFloat(int i, float val) 最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたfloat値で設定します。voidsetElemFloat(int bank, int i, float val) 指定されたバンクにある要求されたデータ配列要素を、指定されたfloat値で設定します。
-
フィールド詳細
-
TYPE_BYTE
-
TYPE_USHORT
-
TYPE_SHORT
-
TYPE_INT
-
TYPE_FLOAT
-
TYPE_DOUBLE
-
TYPE_UNDEFINED
-
dataType
protected int dataTypeこのDataBufferのデータ型です。 -
banks
protected int banksこのDataBufferのバンク数です。 -
offset
protected int offset最初の要素の取得元のデフォルト(最初の)バンクへのオフセットです。 -
size
protected int sizeすべてのバンクで使用可能なサイズです。 -
offsets
protected int[] offsetsすべてのバンクへのオフセットです。
-
-
コンストラクタの詳細
-
DataBuffer
protected DataBuffer(int dataType, int size) 指定されたデータ型およびサイズのバンクを1つ格納するDataBufferを構築します。- パラメータ:
dataTypeこのDataBufferのデータ型size- バンクのサイズ
-
DataBuffer
protected DataBuffer(int dataType, int size, int numBanks) 指定された数のバンクを格納するDataBufferを構築します。 各バンクには指定されたサイズとオフセット0が設定されています。- パラメータ:
dataTypeこのDataBufferのデータ型size- バンクのサイズnumBanks- このDataBuffer内のバンク数
-
DataBuffer
protected DataBuffer(int dataType, int size, int numBanks, int offset) 指定された数のバンクを格納するDataBufferを構築します。 各バンクは指定されたデータ型、サイズ、およびオフセットを持ちます。- パラメータ:
dataTypeこのDataBufferのデータ型size- バンクのサイズnumBanks- このDataBuffer内のバンク数offset- 各バンクのオフセット
-
DataBuffer
protected DataBuffer(int dataType, int size, int numBanks, int[] offsets) 指定された数のバンクを格納するDataBufferを構築します。 各バンクは指定されたデータ型、およびサイズを持ちます。 各バンクのオフセットは、offsets配列の個々のエントリによって指定されます。- パラメータ:
dataTypeこのDataBufferのデータ型size- バンクのサイズnumBanks- このDataBuffer内のバンク数offsets- 各バンクのオフセットを格納する配列。- スロー:
ArrayIndexOutOfBoundsException-numBanksがoffsetsの長さと等しくない場合
-
-
メソッドの詳細
-
getDataTypeSize
public static int getDataTypeSize(int type) datatypeのタグに応じて、データ型のサイズをビット単位で返します。- パラメータ:
type- 定義されたデータ型タグの1つの値- 戻り値:
- データ型のサイズ
- スロー:
IllegalArgumentException-typeが0より小さいか、TYPE_DOUBLEより大きい場合
-
getDataType
public int getDataType()このDataBufferのデータ型を返します。- 戻り値:
- この
DataBufferのデータ型。
-
getSize
public int getSize()すべてのバンクのサイズを配列要素数で返します。- 戻り値:
- すべてのバンクのサイズ
-
getOffset
public int getOffset()デフォルト・バンクのオフセットを配列要素数で返します。- 戻り値:
- デフォルト・バンクのオフセット
-
getOffsets
public int[] getOffsets()すべてのバンクのオフセットを配列要素数で返します。- 戻り値:
- すべてのバンクのオフセット
-
getNumBanks
public int getNumBanks()このDataBufferにあるバンク数を返します。- 戻り値:
- バンク数
-
getElem
public int getElem(int i) 要求されたデータ配列要素を、最初の(デフォルトの)バンクからintとして返します。- パラメータ:
i- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスでのデータ配列要素
- 関連項目:
-
getElem
public abstract int getElem(int bank, int i) 要求されたデータ配列要素を、指定されたバンクからintとして返します。- パラメータ:
bank- 指定されたバンクi- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスにある指定されたバンクからの指定されたインデックスのデータ配列要素
- 関連項目:
-
setElem
public void setElem(int i, int val) 最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたintから設定します。- パラメータ:
i- データ配列内への指定されたインデックスval- データ配列内の指定されたインデックスにある要素を設定するデータ- 関連項目:
-
setElem
public abstract void setElem(int bank, int i, int val) 指定されたバンク内の要求されたデータ配列要素を、指定されたint値で設定します。- パラメータ:
bank- 指定されたバンクi- データ配列内への指定されたインデックスval- データ配列内の指定されたインデックスにある、指定されたバンクの要素を設定するデータ- 関連項目:
-
getElemFloat
public float getElemFloat(int i) 要求されたデータ配列要素を、最初の(デフォルトの)バンクからfloatとして返します。 このクラス内の実装は、getElem(i)をfloatにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスにあるデータ配列要素を表すfloat値
- 関連項目:
-
getElemFloat
public float getElemFloat(int bank, int i) 要求されたデータ配列要素を、指定されたバンクからfloatとして返します。 このクラスでの実装は、getElem(int, int)をfloatにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank- 指定されたバンクi- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスにある指定されたバンクからのデータ配列要素を表すfloat値
- 関連項目:
-
setElemFloat
public void setElemFloat(int i, float val) 最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたfloat値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i- 指定するインデックスval- データ配列の指定されたインデックスにあるデータ配列要素を設定する値- 関連項目:
-
setElemFloat
public void setElemFloat(int bank, int i, float val) 指定されたバンクにある要求されたデータ配列要素を、指定されたfloat値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank- 指定されたバンクi- 指定するインデックスval- データ配列内の指定されたインデックスにある指定されたバンクの要素を設定する値- 関連項目:
-
getElemDouble
public double getElemDouble(int i) 要求されたデータ配列要素を、最初の(デフォルトの)バンクからdoubleとして返します。 このクラスでの実装は、getElem(int)をdoubleにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i- 指定するインデックス- 戻り値:
- データ配列内の指定されたインデックスにある要素を表すdouble値
- 関連項目:
-
getElemDouble
public double getElemDouble(int bank, int i) 要求されたデータ配列要素を、指定されたバンクからdoubleとして返します。 このクラスでの実装は、getElem(bank, i)をdoubleにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank- 指定されたバンクi- 指定するインデックス- 戻り値:
- データ配列内の指定されたインデックスにある指定されたバンクからの要素を表すdouble値
- 関連項目:
-
setElemDouble
public void setElemDouble(int i, double val) 最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたdouble値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i- 指定するインデックスval- データ配列の指定されたインデックスにあるデータ配列要素を設定する値- 関連項目:
-
setElemDouble
public void setElemDouble(int bank, int i, double val) 指定されたバンクにある要求されたデータ配列要素を、指定されたdouble値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank- 指定されたバンクi- 指定するインデックスval- データ配列の指定されたインデックスにある指定されたバンクの要素を設定する値- 関連項目:
-