JavaTM 2 Platform
Std. Ed. v1.3

java.awt.image
クラス DataBuffer

java.lang.Object
  |
  +--java.awt.image.DataBuffer
直系の既知のサブクラス:
DataBufferByte, 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 のみを使います。

関連項目:
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
 

フィールドの詳細

TYPE_BYTE

public static final int TYPE_BYTE
符号なし byte データ用のタグです。

TYPE_USHORT

public static final int TYPE_USHORT
符号なし short データ用のタグです。

TYPE_SHORT

public static final int TYPE_SHORT
符号あり short データ用のタグです。予備用として確保されています。

TYPE_INT

public static final int TYPE_INT
int データ用のタグです。

TYPE_FLOAT

public static final int TYPE_FLOAT
float データ用のタグです。予備用として確保されています。

TYPE_DOUBLE

public static final int TYPE_DOUBLE
double データ用のタグです。予備用として確保されています。

TYPE_UNDEFINED

public static final int TYPE_UNDEFINED
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 - numBanksoffsets の長さと等しくない場合
メソッドの詳細

getDataTypeSize

public static int getDataTypeSize(int type)
datatype のタグに応じて、データタイプのサイズをビット単位で返します。
パラメータ:
type - 定義されたデータタイプタグの 1 つの値
戻り値:
データタイプのサイズ
例外:
IllegalArgumentException - type がゼロより小さいか、TYPE_DOUBLE より大きい場合

getDataType

public int getDataType()
この 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 として返します。

getElem

public abstract int getElem(int bank,
                            int i)
要求されたデータ配列要素を、指定されたバンクから int として返します。

setElem

public void setElem(int i,
                    int val)
最初の (デフォルトの) バンクにある要求されたデータ配列要素を、指定された int から設定します。

setElem

public abstract void setElem(int bank,
                             int i,
                             int val)
指定されたバンクにある要求されたデータ配列要素を、指定された int 値で設定します。

getElemFloat

public float getElemFloat(int i)
要求されたデータ配列要素を、最初の (デフォルトの) バンクから float として返します。このクラスでの実装は、getElem(i) を float にキャストします。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

getElemFloat

public float getElemFloat(int bank,
                          int i)
要求されたデータ配列要素を、指定されたバンクから float として返します。このクラスでの実装は、getElem(bank, i) を float にキャストします。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

setElemFloat

public void setElemFloat(int i,
                         float val)
最初の (デフォルトの) バンクにある要求されたデータ配列要素を、指定された float 値で設定します。このクラスでの実装は、val を int にキャストして、setElem を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

setElemFloat

public void setElemFloat(int bank,
                         int i,
                         float val)
指定されたバンクにある要求されたデータ配列要素を、指定された float 値で設定します。このクラスでの実装は、val を int にキャストして、setElem を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

getElemDouble

public double getElemDouble(int i)
要求されたデータ配列要素を、最初の (デフォルトの) バンクから double として返します。このクラスでの実装は、getElem(i) を double にキャストします。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

getElemDouble

public double getElemDouble(int bank,
                            int i)
要求されたデータ配列要素を、指定されたバンクから double として返します。このクラスでの実装は、getElem(bank, i) を double にキャストします。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

setElemDouble

public void setElemDouble(int i,
                          double val)
最初の (デフォルトの) バンクにある要求されたデータ配列要素を、指定された double 値で設定します。このクラスでの実装は、val を int にキャストして、setElem を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

setElemDouble

public void setElemDouble(int bank,
                          int i,
                          double val)
指定されたバンクにある要求されたデータ配列要素を、指定された double 値で設定します。このクラスでの実装は、val を int にキャストして、setElem を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.