|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.image.DataBuffer
public abstract class 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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。