| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.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_DOUBLEdouble データ用のタグです。 | 
| static int | TYPE_FLOATfloat データ用のタグです。 | 
| static int | TYPE_INTint データ用のタグです。 | 
| static int | TYPE_SHORT符号付き short データ用のタグです。 | 
| static int | TYPE_UNDEFINEDundefined データ用のタグです。 | 
| 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 内のバンク数offset - 各バンクのオフセットを格納する配列
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 Standard Ed. 5.0 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。