モジュール java.desktop
パッケージ 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を構築します。
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      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値で設定します。
    • フィールドの詳細

      • TYPE_SHORT

        @Native
        public static final int TYPE_SHORT
        符号付きshortデータ用のタグです。 予備用に確保されています。
        関連項目:
        定数フィールド値
      • TYPE_FLOAT

        @Native
        public static final int TYPE_FLOAT
        floatデータ用のタグです。 予備用に確保されています。
        関連項目:
        定数フィールド値
      • TYPE_DOUBLE

        @Native
        public static final int TYPE_DOUBLE
        doubleデータ用のタグです。 予備用に確保されています。
        関連項目:
        定数フィールド値
      • 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が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)