JavaTM 2 Platform
Standard Ed. 5.0

java.awt.image
クラス DataBuffer

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 を構築します。
 
メソッドの概要
 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 を構築します。@param dataType この DataBuffer のデータ型 @param size バンクのサイズ


DataBuffer

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


DataBuffer

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


DataBuffer

protected DataBuffer(int dataType,
                     int size,
                     int numBanks,
                     int[] offsets)
指定された数のバンクを格納する DataBuffer を構築します。各バンクは指定されたデータ型、およびサイズを持ちます。各バンクのオフセットは、offsets 配列の個々のエントリによって指定されます。@param dataType この DataBuffer のデータ型 @param size バンクのサイズ @param numBanks この DataBuffer 内のバンク数 @param offset 各バンクのオフセットを格納する配列 @throws ArrayIndexOutOfBoundsException numBanksoffsets の長さと等しくない場合

メソッドの詳細

getDataTypeSize

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

パラメータ:
type - 定義されたデータ型タグの 1 つの値
戻り値:
データ型のサイズ
例外:
IllegalArgumentException - type がゼロより小さいか、TYPE_DOUBLE より大きい場合

getDataType

public int getDataType()
この DataBuffer のデータ型を返します。@return この DataBuffer のデータ型


getSize

public int getSize()
すべてのバンクのサイズを配列要素数で返します。@return すべてのバンクのサイズ


getOffset

public int getOffset()
デフォルトバンクのオフセットを配列要素数で返します。@return デフォルトバンクのオフセット


getOffsets

public int[] getOffsets()
すべてのバンクのオフセットを配列要素数で返します。@return すべてのバンクのオフセット


getNumBanks

public int getNumBanks()
この DataBuffer にあるバンク数を返します。@return バンク数


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)

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。