- 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を使用します。- 関連項目:
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を構築します。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 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値で設定します。
-
-
-
フィールドの詳細
-
TYPE_SHORT
@Native public static final int TYPE_SHORT
符号付きshortデータ用のタグです。 予備用に確保されています。- 関連項目:
- 定数フィールド値
-
TYPE_DOUBLE
@Native public static final int TYPE_DOUBLE
doubleデータ用のタグです。 予備用に確保されています。- 関連項目:
- 定数フィールド値
-
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
- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスでのデータ配列要素
- 関連項目:
setElem(int, int)
,setElem(int, int, int)
-
getElem
public abstract int getElem(int bank, int i)
要求されたデータ配列要素を、指定されたバンクからintとして返します。- パラメータ:
bank
- 指定されたバンクi
- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスにある指定されたバンクからの指定されたインデックスのデータ配列要素
- 関連項目:
setElem(int, int)
,setElem(int, int, int)
-
setElem
public void setElem(int i, int val)
最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたintから設定します。- パラメータ:
i
- データ配列内への指定されたインデックスval
- データ配列内の指定されたインデックスにある要素を設定するデータ- 関連項目:
getElem(int)
,getElem(int, int)
-
setElem
public abstract void setElem(int bank, int i, int val)
指定されたバンク内の要求されたデータ配列要素を、指定されたint値で設定します。- パラメータ:
bank
- 指定されたバンクi
- データ配列内への指定されたインデックスval
- データ配列内の指定されたインデックスにある、指定されたバンクの要素を設定するデータ- 関連項目:
getElem(int)
,getElem(int, int)
-
getElemFloat
public float getElemFloat(int i)
要求されたデータ配列要素を、最初の(デフォルトの)バンクからfloatとして返します。 このクラス内の実装は、getElem(i)をfloatにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i
- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスにあるデータ配列要素を表すfloat値
- 関連項目:
setElemFloat(int, float)
,setElemFloat(int, int, float)
-
getElemFloat
public float getElemFloat(int bank, int i)
要求されたデータ配列要素を、指定されたバンクからfloatとして返します。 このクラスでの実装は、getElem(int, int)
をfloatにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank
- 指定されたバンクi
- 要求されたデータ配列要素のインデックス- 戻り値:
- 指定されたインデックスにある指定されたバンクからのデータ配列要素を表すfloat値
- 関連項目:
setElemFloat(int, float)
,setElemFloat(int, int, float)
-
setElemFloat
public void setElemFloat(int i, float val)
最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたfloat値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)
を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i
- 指定するインデックスval
- データ配列の指定されたインデックスにあるデータ配列要素を設定する値- 関連項目:
getElemFloat(int)
,getElemFloat(int, int)
-
setElemFloat
public void setElemFloat(int bank, int i, float val)
指定されたバンクにある要求されたデータ配列要素を、指定されたfloat値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)
を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank
- 指定されたバンクi
- 指定するインデックスval
- データ配列内の指定されたインデックスにある指定されたバンクの要素を設定する値- 関連項目:
getElemFloat(int)
,getElemFloat(int, int)
-
getElemDouble
public double getElemDouble(int i)
要求されたデータ配列要素を、最初の(デフォルトの)バンクからdoubleとして返します。 このクラスでの実装は、getElem(int)
をdoubleにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i
- 指定するインデックス- 戻り値:
- データ配列内の指定されたインデックスにある要素を表すdouble値
- 関連項目:
setElemDouble(int, double)
,setElemDouble(int, int, double)
-
getElemDouble
public double getElemDouble(int bank, int i)
要求されたデータ配列要素を、指定されたバンクからdoubleとして返します。 このクラスでの実装は、getElem(bank, i)をdoubleにキャストします。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank
- 指定されたバンクi
- 指定するインデックス- 戻り値:
- データ配列内の指定されたインデックスにある指定されたバンクからの要素を表すdouble値
- 関連項目:
setElemDouble(int, double)
,setElemDouble(int, int, double)
-
setElemDouble
public void setElemDouble(int i, double val)
最初の(デフォルトの)バンクにある要求されたデータ配列要素を、指定されたdouble値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)
を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
i
- 指定するインデックスval
- データ配列の指定されたインデックスにあるデータ配列要素を設定する値- 関連項目:
getElemDouble(int)
,getElemDouble(int, int)
-
setElemDouble
public void setElemDouble(int bank, int i, double val)
指定されたバンクにある要求されたデータ配列要素を、指定されたdouble値で設定します。 このクラスでの実装は、valをintにキャストして、setElem(int, int)
を呼び出します。 ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドできます。- パラメータ:
bank
- 指定されたバンクi
- 指定するインデックスval
- データ配列の指定されたインデックスにある指定されたバンクの要素を設定する値- 関連項目:
getElemDouble(int)
,getElemDouble(int, int)
-
-