モジュール java.desktop
パッケージ 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を使用します。
関連項目:
RasterSampleModel
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    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で宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • フィールド詳細

  • コンストラクタの詳細

    • 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が0より小さいか、TYPE_DOUBLEより大きい場合
    • getDataType

      public int getDataType()
      このDataBufferのデータ型を返します。
      戻り値:
      この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として返します。
      パラメータ:
      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)