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

クラスSampleModel

java.lang.Object
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のピクセルを直接操作するために必要な情報を抽出できます。

関連項目:
  • フィールドのサマリー

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

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

    修飾子と型
    メソッド
    説明
    abstract SampleModel
    このSampleModelの形式でデータが記述されている、幅と高さが異なるSampleModelを生成します。
    abstract DataBuffer
    このSampleModelに対応するDataBufferを生成します。
    abstract SampleModel
    このSampleModelのバンドのサブセットを使って新しいSampleModelを生成します。
    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つのピクセルのデータを返します。
    final int
    ピクセル・データが格納されているDataBufferのデータ型を返します。
    final int
    高さをピクセル数で返します。
    final int
    イメージ・データのバンドの総数を返します。
    abstract int
    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[]
    すべてのバンドについて、サンプルのビットのサイズを返します。
    abstract int
    getSampleSize(int band)
    指定されたバンドについて、サンプルのビットのサイズを返します。
    int
    getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。
    final int
    幅をピクセル数で返します。
    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配列から設定します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • width

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

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

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

      protected int dataType
      ピクセル・データを格納する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 - dataTypeDataBufferクラスの事前定義済データ型タグのいずれでもない場合
      IllegalArgumentException - numBandsが1より小さい場合
  • メソッドの詳細

    • getWidth

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

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

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

      public abstract int getNumDataElements()
      getDataElementsメソッドおよびsetDataElementsメソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。 これらのメソッドでは、ピクセルがパックされた形式で転送される場合と展開された形式で転送される場合があり、これは、SampleModelの実装によって決まります。 これらのメソッドを使うと、ピクセルはgetTransferType()によって指定されるプリミティブ型のgetNumDataElements()要素の配列として転送されます。 TransferTypeは、ストレージDataTypeと同じでも、異なっていてもかまいません。
      戻り値:
      データ要素数。
      関連項目:
    • getDataType

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

      public int getTransferType()
      getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。 これらのメソッドでは、ピクセルがパックされた形式で転送される場合と展開された形式で転送される場合があり、これは、SampleModelの実装によって決まります。 これらのメソッドを使うと、ピクセルはgetTransferType()によって指定されるプリミティブ型のgetNumDataElements()要素の配列として転送されます。 TransferTypeは、ストレージDataTypeと同じでも、異なっていてもかまいません。 TransferTypeは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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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 - 座標またはバンド・インデックスが境界内にない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて出力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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 - 座標またはバンド・インデックスが境界内にない場合。
      関連項目:
    • 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 - 座標またはバンド・インデックスが境界内にない場合。
      関連項目:
    • 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 - 座標またはバンド・インデックスが境界内にない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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が小さすぎて入力を保持できない場合。
      関連項目:
    • 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 - 指定されたバンド
      戻り値:
      指定されたバンドのサンプルのサイズ