クラスComponentSampleModel

java.lang.Object
java.awt.image.SampleModel
java.awt.image.ComponentSampleModel
直系の既知のサブクラス:
BandedSampleModel, PixelInterleavedSampleModel

public class ComponentSampleModel extends SampleModel
このクラスは、DataBufferのデータ要素1つに1つずつピクセルを形成する各サンプルが格納されているイメージ・データを表します。 これは、1ピクセルを形成するN個のサンプルを、N個の別個のデータ配列要素に格納します。 異なるバンドが、それぞれDataBufferの別のバンクに格納される場合があります。 イメージ・データを直接処理できるように、アクセス用メソッドが提供されています。 このクラスは、各種のインタリーブ(バンド・インタリーブ、走査線インタリーブ、およびピクセル・インタリーブなど)をサポート可能です。 ピクセル・ストライドは、同じ走査線上の同じバンドにある2つのサンプルの間にあるデータ配列要素数です。 走査線ストライドは、指定されたサンプルと次の走査線の同じ列の対応するサンプルとの間のデータ配列要素の数です。 バンド・オフセットは、各バンドが格納されているDataBufferのバンクにある最初のデータ配列要素からそのバンドの最初のサンプルまでのデータ配列要素数を示します。 バンドには0からN-1までの番号が付けられています。 このクラスは、8ビット、16ビット、または32ビット(それぞれ、DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORT、またはDataBuffer.TYPE_INTを使用)で格納できる符号なし整数値を各サンプルに持つイメージ・データ、16ビット(DataBuffer.TYPE_SHORTを使用)で格納できる符号付き整数値を各サンプルに持つデータ、または符号付きfloat型またはdouble型の数値(それぞれDataBuffer.TYPE_FLOATまたはDataBuffer.TYPE_DOUBLEを使用)を各サンプルに持つデータを表すことができます。 このとき、指定されたComponentSampleModelのすべてのサンプルも、同じ精度で格納されます。 すべてのストライド、およびオフセットは、負でない数値とする必要があります。 このクラスは、TYPE_BYTETYPE_USHORTTYPE_SHORTTYPE_INTTYPE_FLOAT、およびTYPE_DOUBLEをサポートします。
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    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が記述するイメージ・データの領域の幅(単位はピクセル)です。
  • コンストラクタのサマリー

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

    修飾子と型
    メソッド
    説明
    指定された幅と高さを持つ新しいComponentSampleModelを作成します。
    このComponentSampleModelに対応するDataBufferを構築します。
    このComponentSampleModelのサブセットを持つ、新しいComponentSampleModelを構築します。
    final int[]
    すべてのバンドについて、バンドのオフセットを返します。
    final int[]
    すべてのバンクについて、バンクのインデックスを返します。
    getDataElements(int x, int y, Object obj, DataBuffer data)
    TransferType型のプリミティブ配列内の1つのピクセルのデータを返します。
    final int
    getDataElements(int, int, Object, DataBuffer)メソッドおよび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のオフセットを返します。
    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つのサンプルが返されます。
    final int
    このComponentSampleModelのピクセル・ストライドを返します。
    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つのサンプルが返されます。
    final int[]
    すべてのバンドのサンプルあたりのビット数を返します。
    final int
    getSampleSize(int band)
    指定されたバンドのサンプルあたりのビット数を返します。
    final int
    このComponentSampleModelの走査線ストライドを返します。
    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配列から設定します。

    クラスで宣言されたメソッド 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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • bandOffsets

      protected int[] bandOffsets
      データ配列要素にあるすべてのバンドのオフセットです。
    • bankIndices

      protected int[] bankIndices
      イメージ・データのバンドを格納する各バンクのインデックスです。
    • numBands

      protected int numBands
      このComponentSampleModel内のバンド数です。
    • numBanks

      protected int numBanks
      このComponentSampleModel内のバンク数です。
    • scanlineStride

      protected int scanlineStride
      このComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)の走査線ストライドです。
    • pixelStride

      protected int pixelStride
      このComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)のピクセル・ストライドです。
  • コンストラクタの詳細

    • ComponentSampleModel

      public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
      指定されたパラメータで、ComponentSampleModelを構築します。 バンド数は、bandOffsets配列の長さによって指定されます。 すべてのバンドは、DataBufferの最初のバンクに格納されます。
      パラメータ:
      dataType - サンプル格納用のデータ形式
      w - 記述されたイメージ・データの領域の幅(単位はピクセル)
      h - 記述されたイメージ・データの領域の高さ(単位はピクセル)
      pixelStride - 記述されるイメージ・データの領域のピクセル・ストライド
      scanlineStride - 記述されるイメージ・データの領域のライン・ストライド
      bandOffsets - すべてのバンドのオフセット
      スロー:
      IllegalArgumentException - whの両方が0より大きくない場合
      IllegalArgumentException - whの積がInteger.MAX_VALUEより大きい場合
      IllegalArgumentException - pixelStrideが0より小さい場合
      IllegalArgumentException - scanlineStrideが0より小さい場合
      NullPointerException - bandOffsetsnullの場合
      IllegalArgumentException - bandOffsets.lengthが0の場合
      IllegalArgumentException - dataTypeがこのサンプル・モデルでサポートされるデータ型でない場合。
    • ComponentSampleModel

      public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bankIndices, int[] bandOffsets)
      指定されたパラメータで、ComponentSampleModelを構築します。 バンド数は、bandOffsets配列の長さによって指定されます。 異なるバンドは、DataBufferの別々のバンクに格納されます。
      パラメータ:
      dataType - サンプル格納用のデータ形式
      w - 記述されたイメージ・データの領域の幅(単位はピクセル)
      h - 記述されたイメージ・データの領域の高さ(単位はピクセル)
      pixelStride - 記述されるイメージ・データの領域のピクセル・ストライド
      scanlineStride - 記述されるイメージ・データの領域のライン・ストライド
      bankIndices - すべてのバンドのバンク・インデックス
      bandOffsets - すべてのバンドのバンド・オフセット
      スロー:
      IllegalArgumentException - whの両方が0より大きくない場合
      IllegalArgumentException - whの積がInteger.MAX_VALUEより大きい場合
      IllegalArgumentException - pixelStrideが0より小さい場合
      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)
      指定された幅と高さを持つ新しいComponentSampleModelを作成します。 新しいSampleModelは、このSampleModelと同じ数のバンド、ストレージ・データ型、インタリーブ化方式、およびピクセル・ストライドを持ちます。
      定義:
      createCompatibleSampleModel、クラスSampleModel
      パラメータ:
      w - 結果として得られるSampleModelの幅
      h - 結果として得られるSampleModelの高さ
      戻り値:
      指定されたサイズを持つ新しいComponentSampleModel
      スロー:
      IllegalArgumentException - wまたはhが0以下である場合
    • createSubsetSampleModel

      public SampleModel createSubsetSampleModel(int[] bands)
      このComponentSampleModelのサブセットを持つ、新しいComponentSampleModelを構築します。 新しいComponentSampleModelは、既存のComponentSampleModelを使用できる任意のDataBufferと組み合わせて使用できます。 新しいComponentSampleModelとDataBufferの組み合わせは、元のComponentSampleModelとDataBufferの組み合わせにあるバンドのサブセットを持つイメージを表します。
      定義:
      createSubsetSampleModel、クラスSampleModel
      パラメータ:
      bands - このComponentSampleModelのバンドのサブセット
      戻り値:
      このComponentSampleModelのバンドのサブセットで作成されたComponentSampleModel
    • createDataBuffer

      public DataBuffer createDataBuffer()
      このComponentSampleModelに対応するDataBufferを構築します。 DataBufferのデータ型、バンク数、およびサイズは、このComponentSampleModelと矛盾しません。
      定義:
      createDataBuffer、クラスSampleModel
      戻り値:
      このComponentSampleModelとデータ型、バンク数、およびサイズが同じDataBuffer
    • getOffset

      public int getOffset(int x, int y)
      ピクセル(x, y)の最初のバンドのオフセットを返します。 最初のバンドのサンプルは、DataBuffer dataから、ComponentSampleModel csmを使って次のようにして取得できます。
              data.getElem(csm.getOffset(x, y));
       
      パラメータ:
      x - ピクセルのX位置
      y - ピクセルのY位置
      戻り値:
      指定されたピクセルの最初のバンドのオフセット
    • getOffset

      public int getOffset(int x, int y, int b)
      ピクセル(x, y)のバンドbのオフセットを返します。 バンドbのサンプルは、ComponentSampleModel csmを使用してDataBuffer dataから取得できます
             data.getElem(csm.getOffset(x, y, b));
       
      パラメータ:
      x - 指定されたピクセルのX位置
      y - 指定されたピクセルのY位置
      b - 指定されたバンド
      戻り値:
      指定されたピクセルの指定されたバンドのオフセット
    • getSampleSize

      public final int[] getSampleSize()
      すべてのバンドのサンプルあたりのビット数を返します。
      定義:
      getSampleSize、クラスSampleModel
      戻り値:
      配列内の各要素がバンドを表す、すべてのバンドのサンプルあたりのビット数を含む配列
    • getSampleSize

      public final int getSampleSize(int band)
      指定されたバンドのサンプルあたりのビット数を返します。
      定義:
      getSampleSize、クラスSampleModel
      パラメータ:
      band - 指定されたバンド
      戻り値:
      指定されたバンドのサンプルあたりのビット数
    • getBankIndices

      public final int[] getBankIndices()
      すべてのバンクについて、バンクのインデックスを返します。
      戻り値:
      すべてのバンクのバンク・インデックス
    • getBandOffsets

      public final int[] getBandOffsets()
      すべてのバンドについて、バンドのオフセットを返します。
      戻り値:
      すべてのバンドのバンド・オフセット
    • getScanlineStride

      public final int getScanlineStride()
      このComponentSampleModelの走査線ストライドを返します。
      戻り値:
      このComponentSampleModelの走査線ストライド。
    • getPixelStride

      public final int getPixelStride()
      このComponentSampleModelのピクセル・ストライドを返します。
      戻り値:
      このComponentSampleModelのピクセル・ストライド。
    • getNumDataElements

      public final int getNumDataElements()
      getDataElements(int, int, Object, DataBuffer)メソッドおよびsetDataElements(int, int, Object, DataBuffer)メソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。 ComponentSampleModelでは、これはバンド数と等しくなります。
      定義:
      getNumDataElements、クラスSampleModel
      戻り値:
      getDataElementsメソッドとsetDataElementsメソッドで1ピクセルを転送するために必要なデータ要素の数。
      関連項目:
    • getDataElements

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

      次のコードは、ストレージ・レイアウトがComponentSampleModel csm1で記述されているDataBuffer db1からDataBuffer db2への1ピクセルのデータの転送を示しています。そのストレージ・レイアウトはComponentSampleModel csm2で記述されています。 この転送方法は、getPixelおよびsetPixelを使う方法よりも通常効率的です。

            ComponentSampleModel csm1, csm2;
            DataBufferInt db1, db2;
            csm2.setDataElements(x, y,
                                 csm1.getDataElements(x, y, null, db1), db2);
      
      SampleModelオブジェクトのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModelペア間の転送には、getDataElementsおよびsetDataElementsを使用するのが適切です。

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

      定義:
      getDataElements、クラスSampleModel
      パラメータ:
      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、クラスSampleModel
      パラメータ:
      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、クラスSampleModel
      パラメータ:
      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、クラスSampleModel
      パラメータ:
      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、クラスSampleModel
      パラメータ:
      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、クラスSampleModel
      パラメータ:
      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、クラスSampleModel
      パラメータ:
      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型のプリミティブ配列から設定します。 ComponentSampleModelでは、これはデータ型と同じになり、サンプルは各配列要素に1個ずつ転送されます。

      次のコードは、ストレージ・レイアウトがComponentSampleModel csm1で記述されているDataBuffer db1からDataBuffer db2への1ピクセルのデータの転送を示しています。そのストレージ・レイアウトはComponentSampleModel csm2で記述されています。 この転送方法は、getPixelおよびsetPixelを使う方法よりも通常効率的です。

            ComponentSampleModel csm1, csm2;
            DataBufferInt db1, db2;
            csm2.setDataElements(x, y, csm1.getDataElements(x, y, null, db1),
                                 db2);
      
      SampleModelオブジェクトのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModelペア間の転送には、getDataElementsおよびsetDataElementsを使用するのが適切です。

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

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

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

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