クラスPixelInterleavedSampleModel


public class PixelInterleavedSampleModel extends ComponentSampleModel
このクラスは、ピクセル・インタリーブ化方式で格納され、ピクセルの各サンプルがDataBufferの1データ要素を占めるイメージ・データを表します。 このクラスは、ComponentSampleModelをサブクラス化しますが、ピクセル・インタリーブ化されたイメージ・データへのアクセスに、ComponentSampleModelを使うよりも効率的な実装を提供します。 このクラスは、すべてのバンドのサンプル・データをDataBufferの単一バンクに格納します。 イメージ・データを直接処理できるように、アクセス用メソッドが提供されています。 ピクセル・ストライドは、同じ走査線上の同じバンドにある2つのサンプルの間にあるデータ配列要素数です。 走査線ストライドは、指定されたサンプルと次の走査線の同じ列の対応するサンプルとの間のデータ配列要素の数です。 バンド・オフセットは、各バンドが格納されている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が記述するイメージ・データの領域の幅(単位はピクセル)です。
  • コンストラクタのサマリー

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

    修飾子と型
    メソッド
    説明
    指定された幅と高さを持つ新しいPixelInterleavedSampleModelを生成します。
    このPixelInterleavedSampleModelのバンドのサブセットを持つ新しいPixelInterleavedSampleModelを生成します。

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

    createDataBuffer, getBandOffsets, getBankIndices, getDataElements, getNumDataElements, getOffset, getOffset, getPixel, getPixels, getPixelStride, getSample, getSampleDouble, getSampleFloat, getSamples, getSampleSize, getSampleSize, getScanlineStride, setDataElements, setPixel, setPixels, setSample, setSample, setSample, setSamples
    修飾子と型
    メソッド
    説明
    このComponentSampleModelに対応するDataBufferを構築します。
    final int[]
    すべてのバンドについて、バンドのオフセットを返します。
    final int[]
    すべてのバンクについて、バンクのインデックスを返します。
    getDataElements(int x, int y, Object obj, DataBuffer data)
    TransferType型のプリミティブ配列内の1つのピクセルのデータを返します。
    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のオフセットを返します。
    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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • PixelInterleavedSampleModel

      public PixelInterleavedSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
      指定されたパラメータを持つPixelInterleavedSampleModelを構築します。 バンド数は、bandOffsets配列の長さによって指定されます。
      パラメータ:
      dataType - サンプルの格納のためのデータ型。
      w - 記述されたイメージ・データの領域の幅(単位はピクセル)。
      h - 記述されたイメージ・データの領域の高さ(単位はピクセル)。
      pixelStride - イメージ・データのピクセル・ストライド。
      scanlineStride - イメージ・データの走査線ストライド。
      bandOffsets - すべてのバンドのオフセット。
      スロー:
      IllegalArgumentException - wまたはhが0以下である場合
      IllegalArgumentException - バンド間のオフセットのいずれかが走査線ストライドより大きい場合
      IllegalArgumentException - pixelStridewの積がscanlineStrideより大きい場合
      IllegalArgumentException - pixelStrideがバンド間のオフセットより小さい場合
      IllegalArgumentException - dataTypeがサポートされているデータ型でない場合
  • メソッドの詳細

    • createCompatibleSampleModel

      public SampleModel createCompatibleSampleModel(int w, int h)
      指定された幅と高さを持つ新しいPixelInterleavedSampleModelを生成します。 新しいPixelInterleavedSampleModelは、このPixelInterleavedSampleModelと同じバンド数、ストレージ・データ型、ピクセル・ストライドを持ちます。 バンド・オフセットは、すべてのバンド・オフセットの最小値がゼロになるように圧縮できます。
      オーバーライド:
      createCompatibleSampleModel、クラスComponentSampleModel
      パラメータ:
      w - 結果として得られるSampleModelの幅
      h - 結果として得られるSampleModelの高さ
      戻り値:
      指定された幅と高さを持つ新しいSampleModel
      スロー:
      IllegalArgumentException - wまたはhが0以下である場合
    • createSubsetSampleModel

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