クラスBandedSampleModel


public final class BandedSampleModel extends ComponentSampleModel
このクラスは、バンド・インタリーブ化方式で格納されるイメージ・データを表します。ピクセルの各サンプルは、DataBufferのデータ要素に1つずつ格納されます。 このクラスは、ComponentSampleModelをサブクラス化しますが、バンド・インタリーブ化されたイメージ・データへのアクセスに、ComponentSampleModelを使うよりも効率的な実装を提供します。 通常、このクラスは、各バンドのサンプル・データをDataBufferの別々のバンクに格納したイメージを処理する場合に使用されます。 イメージ・データを直接処理できるように、アクセス用メソッドが提供されています。 ピクセル・ストライドは、同じ走査線上の同じバンドにある2つのサンプルの間にあるデータ配列要素数です。 BandedSampleModelのピクセル・ストライドはその1つです。 走査線ストライドは、指定されたサンプルと次の走査線の同じ列の対応するサンプルとの間のデータ配列要素の数です。 バンド・オフセットは、各バンドが格納されているDataBufferのバンクにある最初のデータ配列要素からそのバンドの最初のサンプルまでのデータ配列要素数を示します。 バンドには0からN-1までの番号が付けられています。 バンク・インデックスは、データ・バッファのバンクと、イメージ・データのバンドとの対応を示します。 このクラスは、TYPE_BYTETYPE_USHORTTYPE_SHORTTYPE_INTTYPE_FLOATおよびTYPE_DOUBLEの各データ型をサポートします。
  • フィールドのサマリー

    クラスで宣言されたフィールド ComponentSampleModel

    bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride
    修飾子と型
    フィールド
    説明
    protected int[]
    データ配列要素にあるすべてのバンドのオフセットです。
    protected int[]
    イメージ・データのバンドを格納する各バンクのインデックスです。
    protected int
    このComponentSampleModel内のバンド数です。
    protected int
    このComponentSampleModel内のバンク数です。
    protected int
    このComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)のピクセル・ストライドです。
    protected int
    このComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)の走査線ストライドです。

    クラスで宣言されたフィールド SampleModel

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

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

    修飾子と型
    メソッド
    説明
    指定された幅と高さを持つ新しいBandedSampleModelを作成します。
    このBandedSampleModelに対応するDataBufferを作成します。DataBufferのデータ型、バンク数、およびサイズは、このBandedSampleModelと一致します。
    このBandedSampleModelのバンドのサブセットを持つ新しいBandedSampleModelを作成します。
    getDataElements(int x, int y, Object obj, DataBuffer data)
    transferType型のプリミティブ配列内の1つのピクセルのデータを返します。
    int[]
    getPixel(int x, int y, int[] iArray, DataBuffer data)
    int配列内の指定されたピクセルのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
    int[]
    getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
    int配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
    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として返します。
    int[]
    getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
    int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
    void
    setDataElements(int x, int y, Object obj, DataBuffer data)
    指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。
    void
    setPixel(int x, int y, int[] iArray, DataBuffer data)
    サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。
    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)に位置するピクセルの、指定されたバンド内のサンプルを設定します。
    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, int[] iArray, DataBuffer data)
    指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。

    クラスで宣言されたメソッド ComponentSampleModel

    getBandOffsets, getBankIndices, getNumDataElements, getOffset, getOffset, getPixelStride, getSampleSize, getSampleSize, getScanlineStride
    修飾子と型
    メソッド
    説明
    final int[]
    すべてのバンドについて、バンドのオフセットを返します。
    final int[]
    すべてのバンクについて、バンクのインデックスを返します。
    final int
    ComponentSampleModel.getDataElements(int, int, Object, DataBuffer)メソッドおよびComponentSampleModel.setDataElements(int, int, Object, DataBuffer)メソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。
    int
    getOffset(int x, int y)
    ピクセル(x, y)の最初のバンドのオフセットを返します。
    int
    getOffset(int x, int y, int b)
    ピクセル(x, y)のバンドbのオフセットを返します。
    final int
    このComponentSampleModelのピクセル・ストライドを返します。
    final int[]
    すべてのバンドのサンプルあたりのビット数を返します。
    final int
    getSampleSize(int band)
    指定されたバンドのサンプルあたりのビット数を返します。
    final int
    このComponentSampleModelの走査線ストライドを返します。

    クラスで宣言されたメソッド SampleModel

    getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples
    修飾子と型
    メソッド
    説明
    getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
    TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。
    final int
    ピクセル・データが格納されているDataBufferのデータ型を返します。
    final int
    高さをピクセル数で返します。
    final int
    イメージ・データのバンドの総数を返します。
    double[]
    getPixel(int x, int y, double[] dArray, DataBuffer data)
    doubleの配列内の指定されたピクセルのサンプルを返します。
    float[]
    getPixel(int x, int y, float[] fArray, DataBuffer data)
    floatの配列内の指定されたピクセルのサンプルを返します。
    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つのサンプルが返されます。
    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
    getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。
    final int
    幅をピクセル数で返します。
    void
    setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
    TransferType型のプリミティブ配列から、指定されたDataBuffer内のピクセル矩形のデータを設定します。
    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
    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
    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配列から設定します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • BandedSampleModel

      public BandedSampleModel(int dataType, int w, int h, int numBands)
      指定されたパラメータを使ってBandedSampleModelを構築します。 ピクセル・ストライドは、1データ要素になります。 走査線ストライドは、幅と同じになります。 各バンドは個別のバンクに格納され、すべてのバンド・オフセットは0になります。
      パラメータ:
      dataType - サンプルの格納のためのデータ型。
      w - 記述されたイメージ・データの領域の幅(単位はピクセル)。
      h - 記述されたイメージ・データの領域の高さ(単位はピクセル)。
      numBands - イメージ・データのバンド数。
      スロー:
      IllegalArgumentException - whの両方が0より大きくない場合
      IllegalArgumentException - whの積がInteger.MAX_VALUEより大きい場合
      IllegalArgumentException - numBandsが > 0でない場合
      IllegalArgumentException - dataTypeがこのサンプル・モデルでサポートされるデータ型でない場合。
    • BandedSampleModel

      public BandedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets)
      指定されたパラメータを使ってBandedSampleModelを構築します。 バンド数は、bandOffsets配列とbankIndices配列の長さ(これら2つの配列は同じ長さであることが必要)から推定されます。 ピクセル・ストライドは、1データ要素になります。
      パラメータ:
      dataType - サンプルの格納のためのデータ型。
      w - 記述されたイメージ・データの領域の幅(単位はピクセル)。
      h - 記述されたイメージ・データの領域の高さ(単位はピクセル)。
      scanlineStride - イメージ・データの走査線ストライド。
      bankIndices - 各バンドのバンク・インデックス。
      bandOffsets - 各バンドのバンド・オフセット。
      スロー:
      IllegalArgumentException - whの両方が0より大きくない場合
      IllegalArgumentException - whの積がInteger.MAX_VALUEより大きい場合
      IllegalArgumentException - scanlineStrideが0より小さい場合
      NullPointerException - bankIndicesnullの場合
      NullPointerException - bandOffsetsnullの場合
      IllegalArgumentException - bandOffsets.lengthが0の場合
      IllegalArgumentException - bankIndicesの長さがbandOffsetsの長さと等しくない場合
      IllegalArgumentException - bandIndicesのバンク・インデックスのいずれかが0より小さい場合
      IllegalArgumentException - dataTypeがこのサンプル・モデルでサポートされるデータ型でない場合
  • メソッドの詳細

    • createCompatibleSampleModel

      public SampleModel createCompatibleSampleModel(int w, int h)
      指定された幅と高さを持つ新しいBandedSampleModelを作成します。 新しいBandedSampleModelのバンド数、ストレージ・データ型、およびバンク・インデックスは、このBandedSampleModelと同じになります。 バンド・オフセットは、バンドのオフセットがw*pixelStrideになり、すべてのバンド・オフセットの最小値が0になるように圧縮されます。
      オーバーライド:
      createCompatibleSampleModel、クラスComponentSampleModel
      パラメータ:
      w - 結果として得られるBandedSampleModelの幅
      h - 結果として得られるBandedSampleModelの高さ
      戻り値:
      指定された幅と高さを持つ新しいBandedSampleModel
      スロー:
      IllegalArgumentException - wおよびhの積がInteger.MAX_VALUEより大きい場合、wまたはhが0より大きくない場合。
    • createSubsetSampleModel

      public SampleModel createSubsetSampleModel(int[] bands)
      このBandedSampleModelのバンドのサブセットを持つ新しいBandedSampleModelを作成します。 新しいBandedSampleModelは、既存のBandedSampleModelと使用できるDataBufferであればどのDataBufferとも組み合わせて使用できます。 新しいBandedSampleModelとDataBufferの組み合わせは、元のBandedSampleModelとDataBufferの組み合わせのバンドのサブセットを持つイメージを表します。
      オーバーライド:
      createSubsetSampleModel、クラスComponentSampleModel
      パラメータ:
      bands - このComponentSampleModelのバンドのサブセット
      戻り値:
      このComponentSampleModelのバンドのサブセットで作成されたComponentSampleModel
      スロー:
      RasterFormatException - バンド数がこのサンプル・モデル内のバンク数より多い場合。
      IllegalArgumentException - バンド数が0より大きくない場合
      ArrayIndexOutOfBoundsException - いずれかの銀行インデックスが範囲外の場合
    • createDataBuffer

      public DataBuffer createDataBuffer()
      このBandedSampleModelに対応するDataBufferを作成します。DataBufferのデータ型、バンク数、およびサイズは、このBandedSampleModelと一致します。
      オーバーライド:
      createDataBuffer、クラスComponentSampleModel
      戻り値:
      このComponentSampleModelとデータ型、バンク数、およびサイズが同じDataBuffer
      スロー:
      IllegalArgumentException - dataTypeがサポートされている型でない場合。
    • getDataElements

      public Object getDataElements(int x, int y, Object obj, DataBuffer data)
      transferType型のプリミティブ配列内の1つのピクセルのデータを返します。 BandedSampleModelの場合、これは同じデータ型になり、サンプルは配列要素ごとに1つ返されます。 通常は、Objectが自動的に作成され、正しい基本データ型になるように、objにはnullが渡されます。

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

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

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

      オーバーライド:
      getDataElements、クラスComponentSampleModel
      パラメータ:
      x - ピクセル位置のX座標
      y - ピクセル位置のY座標
      obj - nullでない場合は、ピクセル・データが返されるプリミティブ配列。
      data - イメージ・データを格納するDataBuffer。
      戻り値:
      指定されたピクセルのデータ。
      スロー:
      NullPointerException - datanullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内にない場合、またはobjが小さすぎて出力を保持できない場合。
      関連項目:
    • getPixel

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

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

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

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

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

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

      public void setDataElements(int x, int y, Object obj, DataBuffer data)
      指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。 BandedSampleModelの場合、これは同じデータ型になり、サンプルは配列要素ごとに1つ転送されます。

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

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

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

      オーバーライド:
      setDataElements、クラスComponentSampleModel
      パラメータ:
      x - ピクセル位置のX座標
      y - ピクセル位置のY座標
      obj - nullでない場合は、このオブジェクト内のプリミティブ配列を返す
      data - イメージ・データを格納するDataBuffer
      スロー:
      NullPointerException - objまたはdatanullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内にない場合、またはobjが小さすぎて入力を保持できない場合。
      関連項目:
    • setPixel

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

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

      public void setSample(int x, int y, int b, int s, DataBuffer data)
      intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
      オーバーライド:
      setSample、クラスComponentSampleModel
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      b - 設定されるバンド。
      s - intの入力サンプル。
      data - イメージ・データを格納するDataBuffer。
      スロー:
      NullPointerException - datanullの場合。
      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がスローされます。
      オーバーライド:
      setSample、クラスComponentSampleModel
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      b - 設定されるバンド。
      s - floatでの入力サンプル。
      data - イメージ・データを格納するDataBuffer。
      スロー:
      NullPointerException - datanullの場合。
      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がスローされます。
      オーバーライド:
      setSample、クラスComponentSampleModel
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      b - 設定されるバンド。
      s - doubleでの入力サンプル。
      data - イメージ・データを格納するDataBuffer。
      スロー:
      NullPointerException - datanullの場合。
      ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
      関連項目:
    • setSamples

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