モジュール java.desktop
パッケージ java.awt.image

クラスSampleModel

  • 直系の既知のサブクラス:
    ComponentSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel


    public abstract class SampleModel
    extends Object
    この抽象クラスは、イメージにあるピクセルのサンプルを抽出するインタフェースを定義します。 イメージ・データはすべて、ピクセルのコレクションとして表現されます。 各ピクセルは多数のサンプルで構成されます。 サンプルはイメージの1バンドのデータです。バンドはイメージにある特定のタイプのすべてのサンプルで構成されます。 たとえばピクセルが、赤色成分、緑色成分、青色成分を表す3つのサンプルを含んでいるとします。 このピクセルを含むイメージには3つのバンドがあります。 1つのバンドはイメージのすべてのピクセルのすべての赤色サンプルで構成されます。 2つめのバンドはすべての緑色サンプルで構成され、残りのバンドはすべての青色サンプルで構成されます。 ピクセルはさまざまな形式で格納できます。 たとえば、特定のバンドのすべてのサンプルを連続して格納したり、単一のピクセルのすべてのサンプルを連続して格納したりできます。

    SampleModelのサブクラスは、unsigned 8-bit byte、signed 16-bit shortなどの、表現可能なサンプルのデータ型を指定します。メモリー上でのサンプルの配置方法も指定可能です。 Java 2D(TM) APIでは、組込み型のイメージ処理演算子では、使用可能なすべてのサンプル・データ型の演算を行わず、16ビット以下の符号なし整数のサンプルの演算だけを実行します。 演算子によっては、より多くのサンプル・データ型に対応しているものもあります。

    ピクセルの集合は、DataBufferとSampleModelで構成されるRasterとして表されます。 SampleModelを使うと、DataBuffer内のサンプルにアクセスできます。また、DataBufferでサンプルおよびピクセルを直接操作するためにプログラマが使用できる低レベルの情報を提供します。

    このクラスは、一般にはイメージ処理のためのフォール・バック・メソッドです。 より効率的にコードを記述すれば、適切なサブクラスにSampleModelをキャストして、DataBufferのピクセルを直接操作するために必要な情報を抽出できます。

    関連項目:
    DataBuffer, Raster, ComponentSampleModel, PixelInterleavedSampleModel, BandedSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      protected int dataType
      ピクセル・データを格納するDataBufferのデータ型です。
      protected int height
      このSampleModelが記述するイメージ・データの領域の高さ(単位はピクセル)です。
      protected int numBands
      このSampleModelが記述するイメージ・データのバンド数です。
      protected int width
      このSampleModelが記述するイメージ・データの領域の幅(単位はピクセル)です。
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      SampleModel​(int dataType, int w, int h, int numBands)
      指定されたパラメータを使ってSampleModelを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      abstract SampleModel createCompatibleSampleModel​(int w, int h)
      このSampleModelの形式でデータが記述されている、幅と高さが異なるSampleModelを生成します。
      abstract DataBuffer createDataBuffer​()
      このSampleModelに対応するDataBufferを生成します。
      abstract SampleModel createSubsetSampleModel​(int[] bands)
      このSampleModelのバンドのサブセットを使って新しいSampleModelを生成します。
      Object getDataElements​(int x, int y, int w, int h, Object obj, DataBuffer data)
      TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。
      abstract Object getDataElements​(int x, int y, Object obj, DataBuffer data)
      transferType型のプリミティブ配列内の1つのピクセルのデータを返します。
      int getDataType​()
      ピクセル・データが格納されているDataBufferのデータ型を返します。
      int getHeight​()
      高さをピクセル数で返します。
      int getNumBands​()
      イメージ・データのバンドの総数を返します。
      abstract int getNumDataElements​()
      getDataElementsメソッドおよびsetDataElementsメソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。
      double[] getPixel​(int x, int y, double[] dArray, DataBuffer data)
      doubleの配列内の指定されたピクセルのサンプルを返します。
      float[] getPixel​(int x, int y, float[] fArray, DataBuffer data)
      floatの配列内の指定されたピクセルのサンプルを返します。
      int[] getPixel​(int x, int y, int[] iArray, DataBuffer data)
      int配列内の指定されたピクセルのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
      double[] getPixels​(int x, int y, int w, int h, double[] dArray, DataBuffer data)
      double配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
      float[] getPixels​(int x, int y, int w, int h, float[] fArray, DataBuffer data)
      float配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
      int[] getPixels​(int x, int y, int w, int h, int[] iArray, DataBuffer data)
      int配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
      abstract int getSample​(int x, int y, int b, DataBuffer data)
      (x, y)に位置するピクセルの指定されたバンド内のサンプルをintとして返します。
      double getSampleDouble​(int x, int y, int b, DataBuffer data)
      (x, y)に位置するピクセルの指定されたバンド内のサンプルをdoubleとして返します。
      float getSampleFloat​(int x, int y, int b, DataBuffer data)
      (x, y)に位置するピクセルの指定されたバンド内のサンプルをfloatとして返します。
      double[] getSamples​(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
      double配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
      float[] getSamples​(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
      float配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
      int[] getSamples​(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
      int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
      abstract int[] getSampleSize​()
      すべてのバンドについて、サンプルのビットのサイズを返します。
      abstract int getSampleSize​(int band)
      指定されたバンドについて、サンプルのビットのサイズを返します。
      int getTransferType​()
      getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。
      int getWidth​()
      幅をピクセル数で返します。
      void setDataElements​(int x, int y, int w, int h, Object obj, DataBuffer data)
      TransferType型のプリミティブ配列から、指定されたDataBuffer内のピクセル矩形のデータを設定します。
      abstract void setDataElements​(int x, int y, Object obj, DataBuffer data)
      指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。
      void setPixel​(int x, int y, double[] dArray, DataBuffer data)
      サンプルのdouble配列を入力として、DataBuffer内のピクセルを設定します。
      void setPixel​(int x, int y, float[] fArray, DataBuffer data)
      サンプルのfloat配列を入力として使ってDataBuffer内のピクセルを設定します。
      void setPixel​(int x, int y, int[] iArray, DataBuffer data)
      サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。
      void setPixels​(int x, int y, int w, int h, double[] dArray, DataBuffer data)
      矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。
      void setPixels​(int x, int y, int w, int h, float[] fArray, DataBuffer data)
      矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。
      void setPixels​(int x, int y, int w, int h, int[] iArray, DataBuffer data)
      矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。
      void setSample​(int x, int y, int b, double s, DataBuffer data)
      doubleを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。
      void setSample​(int x, int y, int b, float s, DataBuffer data)
      floatを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。
      abstract void setSample​(int x, int y, int b, int s, DataBuffer data)
      intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。
      void setSamples​(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
      指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。
      void setSamples​(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
      指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。
      void setSamples​(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
      指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。
    • フィールドの詳細

      • width

        protected int width
        このSampleModelが記述するイメージ・データの領域の幅(単位はピクセル)です。
      • height

        protected int height
        このSampleModelが記述するイメージ・データの領域の高さ(単位はピクセル)です。
      • numBands

        protected int numBands
        このSampleModelが記述するイメージ・データのバンド数です。
      • dataType

        protected int dataType
        ピクセル・データを格納するDataBufferのデータ型です。
        関連項目:
        DataBuffer
    • コンストラクタの詳細

      • SampleModel

        public SampleModel​(int dataType,
                           int w,
                           int h,
                           int numBands)
        指定されたパラメータを使ってSampleModelを構築します。
        パラメータ:
        dataType - ピクセル・データを格納するDataBufferのデータ型。
        w - イメージ・データの領域の幅(単位はピクセル)。
        h - イメージ・データの領域の高さ(単位はピクセル)。
        numBands - イメージ・データのバンド数。
        例外:
        IllegalArgumentException - wまたはhが0以下である場合
        IllegalArgumentException - whの積がInteger.MAX_VALUEより大きい場合
        IllegalArgumentException - dataTypeがサポートされているデータ型でない場合
    • メソッドの詳細

      • getWidth

        public final int getWidth​()
        幅をピクセル数で返します。
        戻り値:
        このSampleModelが記述するイメージ・データの領域の幅(ピクセル単位)。
      • getHeight

        public final int getHeight​()
        高さをピクセル数で返します。
        戻り値:
        このSampleModelが記述するイメージ・データの領域の高さ(ピクセル単位)。
      • getNumBands

        public final int getNumBands​()
        イメージ・データのバンドの総数を返します。
        戻り値:
        このSampleModelが記述するイメージ・データのバンド数。
      • getDataType

        public final int getDataType​()
        ピクセル・データが格納されているDataBufferのデータ型を返します。
        戻り値:
        データ型。
      • getPixel

        public int[] getPixel​(int x,
                              int y,
                              int[] iArray,
                              DataBuffer data)
        int配列内の指定されたピクセルのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標
        y - ピクセル位置のY座標
        iArray - nullでない場合、この配列内のサンプルを返します
        data - イメージ・データを格納するDataBuffer
        戻り値:
        指定されたピクセルのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setPixel(int, int, int[], DataBuffer)
      • getDataElements

        public abstract Object getDataElements​(int x,
                                               int y,
                                               Object obj,
                                               DataBuffer data)
        transferType型のプリミティブ配列内の1つのピクセルのデータを返します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 データはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。 通常は、Objectが自動的に作成され、正しい基本データ型になるように、objにはnullが渡されます。

        次のコードは、SampleModel sm1によってストレージ・レイアウトが記述されているDataBuffer db1から、SampleModel sm2によってストレージ・レイアウトが記述されているDataBuffer db2へ、1ピクセルのデータを転送する例です。 通常、この転送はgetPixelとsetPixelを使うよりも効率的です。

               SampleModel sm1, sm2;
               DataBuffer db1, db2;
               sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1), db2);
         
        SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。

        objがnullでない場合は、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがnullでなく、ピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。

        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        obj - nullでない場合は、ピクセル・データが返されるプリミティブ配列。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセルのデータ要素
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはobjが小さすぎて出力を保持できない場合。
        関連項目:
        getNumDataElements(), getTransferType(), DataBuffer, setDataElements(int, int, Object, DataBuffer)
      • getDataElements

        public Object getDataElements​(int x,
                                      int y,
                                      int w,
                                      int h,
                                      Object obj,
                                      DataBuffer data)
        TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 データはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。 通常は、Objectが自動的に作成され、正しい基本データ型になるように、objにはnullが渡されます。

        次のコードは、SampleModel sm1によってストレージ・レイアウトが記述されているDataBuffer db1から、SampleModel sm2によってストレージ・レイアウトが記述されているDataBuffer db2へ、ピクセルの矩形領域のデータを転送する例です。 通常、この転送はgetPixels/setPixelsを使うよりも効率的です。

               SampleModel sm1, sm2;
               DataBuffer db1, db2;
               sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w,
                                   h, null, db1), db2);
         
        SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。

        objがnullでない場合は、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがnullでなく、ピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。

        パラメータ:
        x - ピクセル矩形の最小のX座標。
        y - ピクセル矩形の最小のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        obj - nullでない場合は、ピクセル・データが返されるプリミティブ配列。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセル領域のデータ要素
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはobjが小さすぎて出力を保持できない場合。
        関連項目:
        getNumDataElements()getTransferType()setDataElements(int, int, int, int, Object, DataBuffer)DataBuffer
      • setDataElements

        public abstract void setDataElements​(int x,
                                             int y,
                                             Object obj,
                                             DataBuffer data)
        指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 配列内のデータはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。

        次のコードは、SampleModel sm1によってストレージ・レイアウトが記述されているDataBuffer db1から、SampleModel sm2によってストレージ・レイアウトが記述されているDataBuffer db2へ、1ピクセルのデータを転送する例です。 通常、この転送はgetPixelとsetPixelを使うよりも効率的です。

               SampleModel sm1, sm2;
               DataBuffer db1, db2;
               sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1),
                                   db2);
         
        SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。

        objは、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。

        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        obj - ピクセル・データを格納するプリミティブ配列。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはobjが小さすぎて入力を保持できない場合。
        関連項目:
        getNumDataElements()getTransferType()getDataElements(int, int, Object, DataBuffer)DataBuffer
      • setDataElements

        public void setDataElements​(int x,
                                    int y,
                                    int w,
                                    int h,
                                    Object obj,
                                    DataBuffer data)
        TransferType型のプリミティブ配列から、指定されたDataBuffer内のピクセル矩形のデータを設定します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 配列内のデータはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。

        次のコードは、SampleModel sm1によってストレージ・レイアウトが記述されているDataBuffer db1から、SampleModel sm2によってストレージ・レイアウトが記述されているDataBuffer db2へ、ピクセルの矩形領域のデータを転送する例です。 通常、この転送はgetPixels/setPixelsを使うよりも効率的です。

               SampleModel sm1, sm2;
               DataBuffer db1, db2;
               sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w, h,
                                   null, db1), db2);
         
        SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。

        objは、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。

        パラメータ:
        x - ピクセル矩形の最小のX座標。
        y - ピクセル矩形の最小のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        obj - ピクセル・データを格納するプリミティブ配列。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはobjが小さすぎて入力を保持できない場合。
        関連項目:
        getNumDataElements()getTransferType()getDataElements(int, int, int, int, Object, DataBuffer)DataBuffer
      • getPixel

        public float[] getPixel​(int x,
                                int y,
                                float[] fArray,
                                DataBuffer data)
        floatの配列内の指定されたピクセルのサンプルを返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        fArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセルのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setPixel(int, int, float[], DataBuffer)
      • getPixel

        public double[] getPixel​(int x,
                                 int y,
                                 double[] dArray,
                                 DataBuffer data)
        doubleの配列内の指定されたピクセルのサンプルを返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        dArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセルのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setPixel(int, int, double[], DataBuffer)
      • getPixels

        public int[] getPixels​(int x,
                               int y,
                               int w,
                               int h,
                               int[] iArray,
                               DataBuffer data)
        int配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        iArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセル領域のサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setPixels(int, int, int, int, int[], DataBuffer)
      • getPixels

        public float[] getPixels​(int x,
                                 int y,
                                 int w,
                                 int h,
                                 float[] fArray,
                                 DataBuffer data)
        float配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        fArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセル領域のサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setPixels(int, int, int, int, float[], DataBuffer)
      • getPixels

        public double[] getPixels​(int x,
                                  int y,
                                  int w,
                                  int h,
                                  double[] dArray,
                                  DataBuffer data)
        double配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        dArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセル領域のサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setPixels(int, int, int, int, double[], DataBuffer)
      • getSample

        public abstract int getSample​(int x,
                                      int y,
                                      int b,
                                      DataBuffer data)
        (x, y)に位置するピクセルの指定されたバンド内のサンプルをintとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        b - 返されるバンド。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセルに対する指定されたバンドのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
        関連項目:
        setSample(int, int, int, int, DataBuffer)
      • getSampleFloat

        public float getSampleFloat​(int x,
                                    int y,
                                    int b,
                                    DataBuffer data)
        (x, y)に位置するピクセルの指定されたバンド内のサンプルをfloatとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        b - 返されるバンド。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセルに対する指定されたバンドのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
      • getSampleDouble

        public double getSampleDouble​(int x,
                                      int y,
                                      int b,
                                      DataBuffer data)
        (x, y)に位置するピクセルの指定されたバンド内のサンプルをdoubleとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        b - 返されるバンド。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセルに対する指定されたバンドのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
      • getSamples

        public int[] getSamples​(int x,
                                int y,
                                int w,
                                int h,
                                int b,
                                int[] iArray,
                                DataBuffer data)
        int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        b - 返されるバンド。
        iArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセル領域の指定されたバンドのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setSamples(int, int, int, int, int, int[], DataBuffer)
      • getSamples

        public float[] getSamples​(int x,
                                  int y,
                                  int w,
                                  int h,
                                  int b,
                                  float[] fArray,
                                  DataBuffer data)
        float配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        b - 返されるバンド。
        fArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセル領域の指定されたバンドのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setSamples(int, int, int, int, int, float[], DataBuffer)
      • getSamples

        public double[] getSamples​(int x,
                                   int y,
                                   int w,
                                   int h,
                                   int b,
                                   double[] dArray,
                                   DataBuffer data)
        double配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        b - 返されるバンド。
        dArray - nullでない場合、この配列内のサンプルを返します。
        data - イメージ・データを格納するDataBuffer。
        戻り値:
        指定されたピクセル領域の指定されたバンドのサンプル
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。
        関連項目:
        setSamples(int, int, int, int, int, double[], DataBuffer)
      • setPixel

        public void setPixel​(int x,
                             int y,
                             int[] iArray,
                             DataBuffer data)
        サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        iArray - int配列形式の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - iArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getPixel(int, int, int[], DataBuffer)
      • setPixel

        public void setPixel​(int x,
                             int y,
                             float[] fArray,
                             DataBuffer data)
        サンプルのfloat配列を入力として使ってDataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        fArray - float配列の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - fArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getPixel(int, int, float[], DataBuffer)
      • setPixel

        public void setPixel​(int x,
                             int y,
                             double[] dArray,
                             DataBuffer data)
        サンプルのdouble配列を入力として、DataBuffer内のピクセルを設定します。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        dArray - double配列の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getPixel(int, int, double[], DataBuffer)
      • setPixels

        public void setPixels​(int x,
                              int y,
                              int w,
                              int h,
                              int[] iArray,
                              DataBuffer data)
        矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        iArray - int配列形式の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - iArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getPixels(int, int, int, int, int[], DataBuffer)
      • setPixels

        public void setPixels​(int x,
                              int y,
                              int w,
                              int h,
                              float[] fArray,
                              DataBuffer data)
        矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        fArray - float配列の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - fArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getPixels(int, int, int, int, float[], DataBuffer)
      • setPixels

        public void setPixels​(int x,
                              int y,
                              int w,
                              int h,
                              double[] dArray,
                              DataBuffer data)
        矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        dArray - double配列の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはdArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getPixels(int, int, int, int, double[], DataBuffer)
      • setSample

        public abstract void setSample​(int x,
                                       int y,
                                       int b,
                                       int s,
                                       DataBuffer data)
        intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        b - 設定されるバンド。
        s - intの入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
        関連項目:
        getSample(int, int, int, DataBuffer)
      • setSample

        public void setSample​(int x,
                              int y,
                              int b,
                              float s,
                              DataBuffer data)
        floatを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。 このメソッドのデフォルトの実装は、入力floatサンプルをintにキャストし、次にこのint値を使用してsetSample(int, int, int, DataBuffer)メソッドを呼び出します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        b - 設定されるバンド。
        s - floatでの入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
        関連項目:
        getSample(int, int, int, DataBuffer)
      • setSample

        public void setSample​(int x,
                              int y,
                              int b,
                              double s,
                              DataBuffer data)
        doubleを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。 このメソッドのデフォルトの実装は、入力doubleサンプルをintにキャストし、次にこのint値を使用してsetSample(int, int, int, DataBuffer)メソッドを呼び出します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - ピクセル位置のX座標。
        y - ピクセル位置のY座標。
        b - 設定されるバンド。
        s - doubleでの入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dataがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
        関連項目:
        getSample(int, int, int, DataBuffer)
      • setSamples

        public void setSamples​(int x,
                               int y,
                               int w,
                               int h,
                               int b,
                               int[] iArray,
                               DataBuffer data)
        指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        b - 設定されるバンド。
        iArray - int配列形式の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - iArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getSamples(int, int, int, int, int, int[], DataBuffer)
      • setSamples

        public void setSamples​(int x,
                               int y,
                               int w,
                               int h,
                               int b,
                               float[] fArray,
                               DataBuffer data)
        指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        b - 設定されるバンド。
        fArray - float配列の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - fArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getSamples(int, int, int, int, int, float[], DataBuffer)
      • setSamples

        public void setSamples​(int x,
                               int y,
                               int w,
                               int h,
                               int b,
                               double[] dArray,
                               DataBuffer data)
        指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
        パラメータ:
        x - 左上のピクセル位置のX座標。
        y - 左上のピクセル位置のY座標。
        w - ピクセル矩形の幅。
        h - ピクセル矩形の高さ。
        b - 設定されるバンド。
        dArray - double配列の入力サンプル。
        data - イメージ・データを格納するDataBuffer。
        例外:
        NullPointerException - dArrayまたはデータがnullの場合。
        ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはdArrayが小さすぎて入力を保持できない場合。
        関連項目:
        getSamples(int, int, int, int, int, double[], DataBuffer)
      • createCompatibleSampleModel

        public abstract SampleModel createCompatibleSampleModel​(int w,
                                                                int h)
        このSampleModelの形式でデータが記述されている、幅と高さが異なるSampleModelを生成します。
        パラメータ:
        w - イメージ・データの幅
        h - イメージ・データの高さ
        戻り値:
        このSampleModelと同じイメージ・データを記述し、サイズが異なるSampleModel
      • createSubsetSampleModel

        public abstract SampleModel createSubsetSampleModel​(int[] bands)
        このSampleModelのバンドのサブセットを使って新しいSampleModelを生成します。
        パラメータ:
        bands - このSampleModelのバンドのサブセット
        戻り値:
        このSampleModelのバンドのサブセットを持つSampleModel
      • createDataBuffer

        public abstract DataBuffer createDataBuffer​()
        このSampleModelに対応するDataBufferを生成します。 DataBufferの幅と高さはこのSampleModelの幅と高さと一致します。
        戻り値:
        このSampleModelに対するDataBuffer
      • getSampleSize

        public abstract int[] getSampleSize​()
        すべてのバンドについて、サンプルのビットのサイズを返します。
        戻り値:
        すべてのバンドについてのサンプルのサイズ。
      • getSampleSize

        public abstract int getSampleSize​(int band)
        指定されたバンドについて、サンプルのビットのサイズを返します。
        パラメータ:
        band - 指定されたバンド
        戻り値:
        指定されたバンドのサンプルのサイズ