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

クラスPixelInterleavedSampleModel



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

      • 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
      • hashCode

        public int hashCode​()
        次のクラスからコピーされた説明: Object
        オブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMapによって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。

        hashCodeの一般的な規則は次のとおりです。

        • Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対するequalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
        • equals(Object)メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって同じ整数の結果が生成される必要があります。
        • Object.equals(java.lang.Object)メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって異なる整数の結果が生成される必要はありません ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。

        クラスObjectによって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。 (hashCodeは、ある時点におけるオブジェクト・メモリー・アドレスの関数として実装されても実装されなくてもよい。)

        オーバーライド:
        hashCode、クラス: ComponentSampleModel
        戻り値:
        このオブジェクトのハッシュ・コード値。
        関連項目:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)