Java プラットフォーム 1.2

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 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 を構築します。

DataBuffer

protected DataBuffer(int dataType,
                     int size,
                     int numBanks)
指定された数のバンクを格納する DataBuffer を構築します。各バンクは指定されたサイズを持ち、オフセットは 0 です。

DataBuffer

protected DataBuffer(int dataType,
                     int size,
                     int numBanks,
                     int offset)
指定された数のバンクを格納する DataBuffer を構築します。各バンクは指定されたデータ型、サイズ、およびオフセットを持ちます。

DataBuffer

protected DataBuffer(int dataType,
                     int size,
                     int numBanks,
                     int[] offsets)
指定された数のバンクを格納する DataBuffer を構築します。各バンクは指定されたデータ型、およびサイズを持ちます。各バンクのオフセットは、offsets 配列の個々のエントリによって指定されます。
メソッドの詳細

getDataTypeSize

public static int getDataTypeSize(int type)
datatype のタグに応じて、データ型のサイズをビット単位で返します。

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 を呼び出します。ほかの実装が必要な場合、サブクラスはこのメソッドをオーバーライドする場合があります。

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.